17a6e513a5b362fe39b9493fd18bf28978a9ebe8
[migration-tools.git] / spot_check.pl
1 #!/usr/bin/perl
2 use MARC::Batch;
3 use MARC::Record;
4 use MARC::File::XML ( BinaryEncoding => 'utf-8' );
5 use MARC::Field;
6
7 my $count = 0;
8
9 binmode(STDOUT, ':utf8');
10 binmode(STDIN, ':utf8');
11
12 foreach $argnum ( 0 .. $#ARGV ) {
13
14         print STDERR "Processing " . $ARGV[$argnum] . "\n";
15
16         my $batch = MARC::Batch->new('XML',$ARGV[$argnum]);
17         $batch->strict_off();
18         $batch->warnings_off();
19
20     my $last_successful_record;
21
22     eval {
23         while ( my $record = $batch->next() ) {
24
25             $count++; 
26
27             $last_successful_record = $record->as_xml();
28
29             print STDERR "WARNINGS: Record $count : " . join(":",@warnings) . " : continuing...\n" if ( @warnings );
30
31         }
32     };
33     print STDERR "Processed $count records.  Last successful record = " . $last_successful_record . "\n";
34     warn $@ if $@;
35 }