Extra escaping for the replacement value
authordbs <dbs@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Tue, 21 Apr 2009 04:51:19 +0000 (04:51 +0000)
committerdbs <dbs@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Tue, 21 Apr 2009 04:51:19 +0000 (04:51 +0000)
git-svn-id: svn://svn.open-ils.org/ILS-Contrib/conifer/trunk@374 6d9bc8c9-1ec2-4278-b937-99fde70a366f

tools/migration-scripts/fix_bad_marcxml.pl

index 76a72d9..aae9c7c 100644 (file)
@@ -42,9 +42,10 @@ sub process_file {
                } elsif ($_ =~ m#<subfield code="&">#o) {
                        print STDERR "Bad subfield code & at line $lineno of file $file\n";
                        $_ =~ s{<subfield code="&">}{<subfield code="Z">}o;
-               } elsif ($_ =~ m#<datafield tag="6" ind1="."#o) {
-                       print STDERR "Bad datafield tag 6 at line $lineno of file $file\n";
-                       $_ =~ s{<datafield tag="6" ind1="."}{<datafield tag="600" ind1=" "}o;
+               } elsif ($_ =~ m#<datafield tag="(\d)" ind1="."#o) {
+                       my $badtag = $1;
+                       print STDERR "Bad datafield tag $badtag at line $lineno of file $file\n";
+                       $_ =~ s/<datafield tag="(\d)" ind1="."/<datafield tag="${1}00" ind1=" "/o;
                }
                
                $lastline = $_;