MARC::MIR is not a library,
it's a specification for in-memory representation of a MARC record with simplcity in mind.
The current module comes with a set of helpers to manipulate it (i call it MARC::MIR DSL).

The DSL itself is designed to be used the more natural way possible.
Here are some basic exemples (combined with Perlude).

t/* is empty and the API may change (i even i think it's quiet stable on the basics). i think the doc is up to date and the stability of MARC::MIR.

Anyway: waiting for the tests, MARC::MIR runs daily on linux stations (perl 5.12 to 5.17) on large amount of data. It is as faster and easier to use than older libraries and is designed to get the data back from iso files, no matter the quality of the serialization dictionnary so for one shot scripts, i'm now more confident in MARC::MIR than i ever was in MARC::Record, for example.

I dealt with lot of MARC records in the past (mainly from/to iso2709 files) and was really annoyed by the state of art:

ISO2709 was a clever format when it was invented (more than 40 years ago! older than FTP or even UNIX) but the world has changed a so drastic way most of the IT crowd, bred to modern serialization formats (YAML, JSON, XML) are clueless when it comes to magnetic tapes friendly serializations. Librarians haven't got it since recently.

As a result, IT people just flee libraries and reinvent information sciences from scratch with modern tools fitting the modern interconnected world when librarians are left with the rest of us, dead bored programmers using old school tools and bad designed modules with painfull OO approach. I don't blame anyone: it's just the way the things gone.

But if you come back to the roots: A MARC record is a very simple structure so they must be simple to manulate. MARC::MIR is an attempt to get the simplicity back.