The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MARC::Moose - Moose based MARC records set of tools

VERSION

version 0.011

DESCRIPTION

SYNOPSYS

 use MARC::Moose::Record;
 use MARC::Moose::Reader::File;
 use MARC::Moose::Parser::Iso2709;
 use MARC::Moose::Formater::Text;

 my $reader = MARC::Moose::Reader::File->new(
     file   => 'biblio.iso',
     parser => MARC::Moose::Parser::Iso2709->new()
 );
 my $formater = MARC::Moose::Formater::Text->new();
 while ( my $record = $reader->read() ) {
     # Remove some fields
     $record->fields([
         grep { not $_->tag ~~ [qw(001 009 039 917 930 955)] } @{$record->fields}
     ]);
     # Clean some subfields
     for my $field ( @{$record->fields} ) {
        next unless $field->tag ~~ [qw(410 461 600 606 607 608)];
        $field->subf([
          grep { not $_->[0] =~ /0|2|3|9/ } @{$field->subf}
        ]);
     }
     print $formater->format( $record );
 }

WARNINGS

MARC records are expected to be UTF-8 encoded. It won't work if it isn't. Parsed records MUST be UTF-8. If you don't have UTF-8 records, write a specific reader or use a generic tool like yaz-marcdump before loading records.

SEE ALSO

AUTHOR

Frederic Demians <f.demians@tamil.fr>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by Frederic Demians.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.