fingerprinter tweak
[migration-tools.git] / spit_unicorn_marc_holdings.pl
index 93b385a..c99d1a1 100755 (executable)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl
+use open ':utf8';
 use MARC::Batch;
 use MARC::File::XML ( BinaryEncoding => 'utf-8' );
 use MARC::Field;
@@ -29,7 +30,10 @@ foreach my $argnum ( 0 .. $#ARGV ) {
 
        print STDERR "Processing " . $ARGV[$argnum] . "\n";
 
-       my $batch = MARC::Batch->new('XML',$ARGV[$argnum]);
+    my $M;
+    open $M, '<:utf8', $ARGV[$argnum];
+    my $batch = MARC::Batch->new('XML',$M);
+
        $batch->strict_off();
        $batch->warnings_off();
 
@@ -43,18 +47,18 @@ foreach my $argnum ( 0 .. $#ARGV ) {
         foreach my $tag ( @tags ) {
             print join("\t",
                 $my_903a,
-                $tag->subfield('m'), # library
-                $tag->subfield('i'), # barcode
-                $tag->subfield('k'), # current location
-                $tag->subfield('l'), # home location
-                $tag->subfield('a'), # call number
-                $tag->subfield('t'), # item type
-                $tag->subfield('u'), # acq date
-                $tag->subfield('p'), # price
-                $tag->subfield('r'), # circulate flag
-                $tag->subfield('n'), # total charges
-                $tag->subfield('x'), # cat1
-                $tag->subfield('z')  # cat2
+                $tag->subfield('m') || '', # library
+                $tag->subfield('i') || '', # barcode
+                $tag->subfield('k') || '', # current location
+                $tag->subfield('l') || '', # home location
+                $tag->subfield('a') || '', # call number
+                $tag->subfield('t') || '', # item type
+                $tag->subfield('u') || '', # acq date
+                $tag->subfield('p') || '', # price
+                $tag->subfield('r') || '', # circulate flag
+                $tag->subfield('n') || '', # total charges
+                $tag->subfield('x') || '', # cat1
+                $tag->subfield('z') || ''  # cat2
             ) . "\n";
         }