Scroll to navigation

Catmandu::Importer::MARC(3pm) User Contributed Perl Documentation Catmandu::Importer::MARC(3pm)


Catmandu::Importer::MARC - Package that imports MARC data


    # On the command line
    # Convert MARC to JSON (default)
    $ catmandu convert MARC < /foo/bar.mrc
    # Convert MARC to MARC
    $ catmandu convert MARC to MARC < /foo/bar.mrc > /foo/output.mrc
    # Add fixes
    $ catmandu convert MARC to MARC --fix myfixes.txt < /foo/bar.mrc > /foo/output.mrc
    # Create a list of titles
    $ catmandu convert MARC to TSV --fix "marc_map(245,title); retain(title)" < /foo/bar.mrc
    # Convert MARC XML
    $ catmandu convert MARC --type XML < /foo/bar.xml
    # Convert ALEPH sequential
    $ catmandu convert MARC --type ALEPHSEQ < /foo/bar.aleph
    # Convert on format to another format
    $ catmandu convert MARC --type ISO to MARC --type ALEPHSEQ < /foo/bar.mrc > /foo/bar.aleph


Catmandu::Importer::MARC is a Catmandu::Importer to import MARC records from an external source. Each record is imported as HASH containing two keys:

the system identifier of the record (usually the 001 field)
an ARRAY of ARRAYs containing the record data


    record => [
        'fol05882032 '
        'Cross-platform Perl /',
        'Eric F. Johnson.'
    _id' => 'fol05882032'


This module inherits all methods of Catmandu::Importer and by this Catmandu::Iterable.


Read input from a local file given by its path. Alternatively a scalar reference can be passed to read from a string.
Read input from an IO::Handle. If not specified, Catmandu::Util::io is used to create the input stream from the "file" argument or by using STDIN.
An ARRAY of one or more fixes or file scripts to be applied to imported items.
The MARC format to parse. The following MARC parsers are available:

  ISO: L<Catmandu::Importer::MARC::ISO> (default) - a strict ISO 2709 parser
  RAW: L<Catmandu::Importer::MARC::RAW> - a loose ISO 2709 parser that skips faulty records
  ALEPHSEQ: L<Catmandu::Importer::MARC::ALEPHSEQ> - a parser for Ex Libris Aleph sequential files
  Lint: L<Catmandu::Importer::MARC::Lint> - a MARC syntax checker
  MicroLIF: L<Catmandu::Importer::MARC::MicroLIF> - a parser for the MicroLIF format
  MARCMaker: L<Catmandu::Importer::MARC::MARCMaker> - a parser for MARCMaker/MARCBreaker records
  MiJ: L<Catmandu::Importer::MARC::MiJ> (MARC in JSON) - a parser for the MARC-in-JSON format
  XML: L<Catmandu::Importer::MARC::XML> - a parser for the MARC XML format
If set, then any errors when parsing MARC input will be skipped and ignored. Use the debug setting of catmandu to view all error messages:

  $ catmandu -D convert MARC --skip_errors 1 < /foo/bar.mrc
Every MARC importer can have its own options. Check the documentation of the specific importer.



2019-02-25 perl v5.28.1