From: Jason Etheridge Date: Thu, 29 Jun 2017 18:50:07 +0000 (-0400) Subject: fix -fs, and more output when fixing stuff X-Git-Url: http://git.equinoxoli.org/?p=migration-tools.git;a=commitdiff_plain;h=00daef49e8646e7ecd55f44525237241aa9e17a0;hp=3d029e1c2c46a181fe7da27df11974c4e3d7cd49 fix -fs, and more output when fixing stuff Signed-off-by: Jason Etheridge --- diff --git a/marc_cleanup b/marc_cleanup index e79180a..58a68c1 100755 --- a/marc_cleanup +++ b/marc_cleanup @@ -111,7 +111,7 @@ while ( buildrecord() ) { # subfields can't be non-alphanumeric if ($record[$ptr] =~ /c/code="c">/; - $record[$ptr] =~ s/code=" ">\$/code="c">\$/; + if ($record[$ptr] =~ /code=" ">c/) { + message('Fixing probable subfield c, scenario 1'); + $record[$ptr] =~ s/code=" ">c/code="c">/; + } + if ($record[$ptr] =~ /code=" ">\$/) { + message('Fixing probable subfield c, scenario 2'); + $record[$ptr] =~ s/code=" ">\$/code="c">\$/; + } if ($c->{'fix-subfield'}) { - $record[$ptr] =~ s/code="&">/code="$c->{'fix-subfield'}">/; - $record[$ptr] =~ s/code="\P{IsAlnum}">/code="$c->{'fix-subfield'}">/; - $record[$ptr] =~ s/code="">/code="$c->{'fix-subfield'}">/; + if ($record[$ptr] =~ /code="&">/) { + message('Fixing & for subfield code'); + $record[$ptr] =~ s/code="&">/code="$c->{'fix-subfield'}">/; + } + if ($record[$ptr] =~ /code="(.*?\P{IsAlnum}.*?)">/) { + message("Fixing non-alphanumeric subfield code: $1 -> " . $c->{'fix-subfield'}); + $record[$ptr] =~ s/code=".*?\P{IsAlnum}.*?">/code="$c->{'fix-subfield'}">/; + } + if ($record[$ptr] =~ /code="">/) { + message('Fixing null subfield code'); + $record[$ptr] =~ s/code="">/code="$c->{'fix-subfield'}">/; + } } } return 0;