For your first question, instead of:
$batch = MARC::Batch-new(‘USMARC’,STDIN);
use:
$batch = MARC::Batch-new(‘USMARC’,STDIN);
For your second, the error is likely caused when a field you're using
as_string() on doesn't exist in the record.
So, you could do something like the following:
Thanks Timothy for your help.
When processing about 5 million records I would expect some crazy records. The
new script (incorporating Timothy’s suggestions) exited prematurely on record
85,877 with: “Warnings detected: Entirely empty subfield found in tag 260”. I
know 260 is publication
John E Guillory schreef op do 29-05-2014 om 21:13 [+]:
“Warnings detected: Entirely empty subfield found in tag 260”
An entirely empty subfield is an illegally formatted thing, at least
according to the rules of MARC::Record/MARC::Field, and so I assume the
MARC format itself. So it's not