add action.hold_request_note to the list of base tables
[migration-tools.git] / marc_cleanup
index 2c3a005..e0c20a7 100755 (executable)
@@ -93,7 +93,7 @@ while ( buildrecord() ) {
     until ($ptr == $#record) {
         # get datafield/tag data if we have it
         $rc = stow_record_data() if ($c->{'renumber-from'} and $c->{'original-tag'});
-        return $rc if $rc;
+        next if $rc;
 
         # naked ampersands
         if ($record[$ptr] =~ /&/ && $record[$ptr] !~ /&\w+?;/)
@@ -193,6 +193,12 @@ sub do_automated_cleanups {
             message("Dollar sign corrected");
         }
 
+        # excessive trailing whitespace in subfield contents
+        if ($record[$ptr] =~ m|\s{10,}</subfield>|) {
+            $record[$ptr] =~ s|\s{10,}</subfield>|</subfield>|;
+            message("Trailing whitespace trimmed from subfield contents");
+        }
+
         # automatable subfield maladies
         $record[$ptr] =~ s/code=" ">c/code="c">/;
         $record[$ptr] =~ s/code=" ">\$/code="c">\$/;
@@ -316,7 +322,7 @@ sub buildrecord {
     my $istrash = 0;
     my $trash = $c->{trash};
 
-    $l = <MARC> while (defined $l and $l !~ /<record>/);
+    $l = <MARC> while (defined $l and $l !~ /<record/);
     return $l unless defined $l;
     $c->{ricount}++;