MARC/Perl is a Perl 5 library for reading, manipulating, outputting and converting bibliographic records in the MARC format. The MAchine Readable Cataloging format was designed by the Library of Congress in the late 1960s in order to allow libraries to convert their card catalogs into a digital format. The MARC format was standardized as ANSI/NISO Z39.2 in 1971 and is now being used by libraries around the world to provide computerized access to their collections.

It is common for corporate, public and academic libraries to purchase Integrated Library Systems to organize and manage their collections. However, it is often advantageous for libraries to be able to create or massage pre-existing MARC data on the way into or out-of such systems. This is the niche that MARC/Perl was designed to fill. If you can think of any other niches (i.e. Open Source Software for libraries) please let us know!

Development of this software library began with in the summer of 1999. After much experimentation, enhancement and discussion the MARC::Record framework was adopted which provides a more scalable approach to processing MARC data with Perl. While you can still download and get the documentation for, it is recommended that new users download MARC::Record. Future development of the MARC namespace on CPAN will fit into the framework provided by MARC::Record. If you have ideas for new modules please join the development team, or consider posting to the perl4lib list.

If you have any feature requests, or find any bugs (gasp) please report them via RT, the CPAN request tracking system.


The latest stable version of the MARC::Record package is available from Comprehensive Perl Archive Network (CPAN). Experimental versions can often be found in the download area here at SourceForge. Although older versions of are available for download, we recommend you use the MARC::Record package since future development will use it as a foundation.


Web Interface

If you want to try out the MARC/Perl library without actually installing you can test it out by uploading and retrieving records from a Web Interface to it. Note: this interface only provides a small glimpse of the full capabilities of this software To get the full functionality you must download the MARC::Record library and install.

Some Users

Other Writings


Please feel free to suggest improvements to the MARC/Perl and/or join the development team by visiting MARC/Perl's SourceForge development area. Here's a list of developers who have contributed to the MARC/Perl project.

Web hosting graciously provided by: