Just out of curiosity - what was your main motivation for writing
another MARC module?
In what ways does your distribution differ from MARC::Record?
Moose Object-Oriented code reusability. I can clearly (hope so)
distinguish Marc record manipulation, parsing, converting, formatting,
reading, writing. Take a look at Moose if you don't have already:
http://www.iinteractive.com/moose/
For example, if I need to read a set of Marc records from a ISO2709
file, I do that:
my $reader = Marc::Reader::File->new(
file => 'foo.iso';
parser => Marc::Parser::Iso2709->new() );
while ( my $record = $reader->read() ) {
;
}
The same thing for a Marcxml file is just:
my $reader = Marc::Reader::File->new(
file => 'foo.xml';
parser => Marc::Parser::Marcxml->new() );
Similarly I also can have a reader grabbing Marc records directly from
an ILS, let's say Koha:
my $reader = Marc::Reader::KohaIls->new(
conf => '/etc/koha-conf.xml',
select => 'all' );
So with this library is a mean (for me) to write more OO code
manipulating MARC records.
--
Frédéric