&ModBiblioframework
&ModZebra
&UpdateTotalIssues
+ &RemoveAllNsb
);
# To delete something
return;
}
+=head2 RemoveAllNsb
+
+ &RemoveAllNsb($record);
+
+Removes all nsb/nse chars from a record
+
+=cut
+
+sub RemoveAllNsb {
+ my $record = shift;
+
+ SetUTF8Flag($record);
+
+ foreach my $field ($record->fields()) {
+ if ($field->is_control_field()) {
+ $field->update(nsb_clean($field->data()));
+ } else {
+ my @subfields = $field->subfields();
+ my @new_subfields;
+ foreach my $subfield (@subfields) {
+ push @new_subfields, $subfield->[0] => nsb_clean($subfield->[1]);
+ }
+ if (scalar(@new_subfields) > 0) {
+ my $new_field;
+ eval {
+ $new_field = MARC::Field->new(
+ $field->tag(),
+ $field->indicator(1),
+ $field->indicator(2),
+ @new_subfields
+ );
+ };
+ if ($@) {
+ warn "error in RemoveAllNsb : $@";
+ } else {
+ $field->replace_with($new_field);
+ }
+ }
+ }
+ }
+
+ return $record;
+}
+
1;