Requesting help with simple MARC::File::XML program

[email protected] ("Anne L. Highsmith")
Newsgroups perl.perl4lib
Message-ID <[email protected]>
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?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.