I have a file of usmarc records which I want to read into a program and print to a file as MARC xml. Here's my program so far:
######################################################### #!/usr/local/bin/perl use strict; use warnings; use MARC::Record; use MARC::Batch; use MARC::File::XML; my $infile = 'updated_dissertation_records'; my $file = MARC::File::XML->out('updated_dissertation_records.xml', 'UTF-8' ); my $batch = MARC::Batch->new( 'USMARC', $infile); for (my $i = 0; $i < 3; $i++) { my $record = $batch->next(); $file->write($record); } ######################################################### First question -- I can't get past the my $file = MARC::File::XML->out('updated_dissertation_records.xml', 'UTF-8' ); statement. When I run the program, that line gets the error: usage $fh->binmode([LAYER]) at /usr/local/perl/5.8/lib/site_perl/5.8.7/MARC/File/XML.pm line 195 Two -- does the "$file->write()" statement expect a MARC::Record object, an XML stream, or a marc record string? I've assumed a MARC::Record object. If it expects an XML stream, what is the best method for what I'm trying to do to get my marc record into an appropriate XML stream?