MARC::Batch question

[email protected] ("Zhang, Bin") Thu, 13 Oct 2011 16:12:05 -0700
Newsgroups perl.perl4lib
Message-ID <78472F89E349B544A1244DB2A9266CF00136A02FB006@sl8.saclink.csus.edu>
Hi,

I have to admit my Perl skill is very limited, so this may be a dumb question, but I can't seem to find answer.   When I use MARC::Batch to read records from our catalog (III) export file, I can't seem to find a way to skip an error record.   When I ran the following against an III export MARC file, it stopped at a record with error.

utf8 "\xBC" does not map to Unicode at /usr/lib/perl/5.10/Encode.pm line 174.

Ideally I would like to be able to log the error and move to the next record.

Any help you can offer is greatly appreciated!


--script--
my $batch = MARC::Batch->new('USMARC', '../full_export.out');
$batch->strict_off();
$batch->warnings_off();

my $linter = MARC::Lint->new();
my $counter = 0;

while(my $record = $batch->next() ) {
    $counter++;
    if($counter != 22507) {
        $linter->check_record($record);
        my @warnings = $linter->warnings();
        if(@warnings) {
            print "RECORD $counter\n";
            print join("\n", @warnings), "\n";
        }
    }
}


---
Bin Zhang
Digital Information Services Librarian
Library 3501D
Library Systems & IT Services, University Library
California State University, Sacramento
2000 State University Drive East, Sacramento, CA 95819-6039
(916) 278-5664 (O); (916) 278-3891 (F)
bzhang AT csus DOT edu