4 use MARC::File::XML ( BinaryEncoding => 'utf-8' );
6 use Unicode::Normalize;
10 binmode(STDOUT, ':utf8');
11 binmode(STDIN, ':utf8');
29 foreach my $argnum ( 0 .. $#ARGV ) {
31 print STDERR "Processing " . $ARGV[$argnum] . "\n";
34 open $M, '<:utf8', $ARGV[$argnum];
35 my $batch = MARC::Batch->new('XML',$M);
38 $batch->warnings_off();
40 while ( my $record = $batch->next() ) {
44 print STDERR "WARNINGS: Record $count : " . join(":",@warnings) . " : continuing...\n" if ( @warnings );
45 my $my_903a = $record->field('903')->subfield('a'); # target bib id's here
46 my @tags = $record->field('999');
47 foreach my $tag ( @tags ) {
50 $tag->subfield('m') || '', # library
51 $tag->subfield('i') || '', # barcode
52 $tag->subfield('k') || '', # current location
53 $tag->subfield('l') || '', # home location
54 $tag->subfield('a') || '', # call number
55 $tag->subfield('t') || '', # item type
56 $tag->subfield('u') || '', # acq date
57 $tag->subfield('p') || '', # price
58 $tag->subfield('r') || '', # circulate flag
59 $tag->subfield('n') || '', # total charges
60 $tag->subfield('x') || '', # cat1
61 $tag->subfield('z') || '' # cat2
66 print STDERR "Processed $count records\n";