---
name: "Catmandu::Importer::MARC::USMARC"
section: "3pm"
platform: "linux"
package: "libcatmandu-marc-perl"
version: "0.215-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Catmandu::Importer::MARC::USMARC"
---

# Catmandu::Importer::MARC::USMARC(3pm)

Package that imports USMARC records

## NAME

Catmandu::Importer::MARC::USMARC - Package that imports USMARC records

## SYNOPSIS

```
    # From the command line (USMARC is the default importer for MARC)
    $ catmandu convert MARC --fix "marc_map('245a','title')" < /foo/data.mrc
    # From perl
    use Catmandu;
    # import records from file
    my $importer = Catmandu->importer('MARC',file => '/foo/data.mrc');
    my $fixer    = Catmandu->fixer("marc_map('245a','title')");
    $importer->each(sub {
        my $item = shift;
        ...
    });
    # or using the fixer
    $fixer->fix($importer)->each(sub {
        my $item = shift;
        printf "title: %s\n" , $item->{title};
    });
```

## METHODS

### new(file =\> $file , fh =\> $fh , id =\> $field)

Parse a file or a filehandle into a Catmandu::Iterable. Optionally provide an id attribute specifying the source of the system identifer '\_id' field (e.g. '001').

## INHERTED METHODS

### count

### each(&callback)

### ...

Every Catmandu::Importer is a Catmandu::Iterable all its methods are inherited.

## SEE ALSO

MARC::File::USMARC
