MARC::File3pm
Base class for files of marc records
Usage
use MARC::File::USMARC;# If you have weird control fields...use MARC::Field;MARC::Field->allow_controlfield_tags('FMT', 'LDX');my $file = MARC::File::USMARC->in( $filename );while ( my $marc = $file->next() ) {# Do something}$file->close();undef $file;
Export
None.
Methods
in()
Opens a file for import. Ordinarily you will use "MARC::File::USMARC" or "MARC::File::MicroLIF" to do this.
my $file = MARC::File::USMARC->in( 'file.marc' );
Returns a "MARC::File" object, or "undef" on failure. If you encountered an error the error message will be stored in $MARC::File::ERROR.
Optionally you can also pass in a filehandle, and "MARC::File". will "do the right thing".
my $handle = IO::File->new( 'gunzip -c file.marc.gz |' );my $file = MARC::File::USMARC->in( $handle );
next( [\&filter_func] )
Reads the next record from the file handle passed in.
The $filter_func is a reference to a filtering function. Currently, only USMARC records support this. See MARC::File::USMARC's "decode()" function for details.
Returns a MARC::Record reference, or "undef" on error.
skip()
Skips over the next record in the file. Same as "next()", without the overhead of parsing a record you're going to throw away anyway.
Returns 1 or undef.
warnings()
Simlilar to the methods in MARC::Record and MARC::Batch, "warnings()" will return any warnings that have accumulated while processing this file; and as a side-effect will clear the warnings buffer.
close()
Closes the file, both from the object's point of view, and the actual file.
write()
Writes a record to the output file. This method must be overridden in your subclass.
decode()
Decodes a record into a USMARC format. This method must be overridden in your subclass.
Todo
- •
-
"out()"methodWe only handle files for input right now.
Releases
10 releases since Debian 4.0 (Etch); the text changed 5 times.