use Getopt::Long;
use MARC::Batch;
use Unicode::Normalize;
+use MARC::File::XML ( BinaryEncoding => 'utf-8' );
my $conf = {}; # configuration hashref
my $count = 0;
for my $file (@ARGV) {
print XF "Processing $file\n";
- open my $records, '<:utf8', $file;
+ #open my $records, '<:utf8', $file; # This hack dosn't play nice with the use MARC::File::XML ( BinaryEncoding => 'utf-8' ); hack
my $batch = undef; my $record = undef;
- $batch = MARC::Batch->new('XML', $records);
+ #$batch = MARC::Batch->new('XML', $records); # The other part of the hack
+ $batch = MARC::Batch->new('XML', $file);
$batch->strict_off();
$batch->warnings_off();
- while ( eval { $record = $batch->next } ) {
- my $marc = undef;
+ while ( $record = $batch->next ) {
$count++; progress_ticker();
+ my $marc = undef;
unless ( defined $record )
{ dump_exception($marc); next; }
dump_fingerprints($marc);
}
}
-print "\nProcessed $count records\n" unless $conf->{quiet};
-
+print "\nSuccessfully processed:\t$count\n" unless $conf->{quiet};
=head2 populate_marc