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 MARC.pm 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 MARC.pm, 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
Perl Archive Network (CPAN). Experimental versions can often be found in
download area here at SourceForge. Although older versions of MARC.pm are
available for download, we recommend you use the MARC::Record package since
future development will use it as a foundation.
- MARC::Record::Tutorial :
- MARC::Record : html
- MARC::Lint : html
- MARC::File::XML : html
- MARC::Charset : html
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
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.
- Adat Chaverim Library: used MARC.pm to create a web-searchable online catalog using freely available USMARC records from the Library of Congress.
- American Institute of Physics: have
used MARC.pm to validate bibliographic data uploaded via the web.
- Chicago Digital Distribution Center
: uses MARC::Record, in conjunction with Net::Z3950, to retrieve and harvest
USMARC records. The MARC metadata serve as the basis for the online catalog
of titles in the BiblioVault,
a digital book repository, for CDDC client presses.
cufts2marc was a utility for generating USMARC bibliographic records for the
full-text journals in the collections described in the CUFTS link resolver
knowledgebase. CUFTS is part of the reSearcher suite of open source tools for
locating and managing electronic information resources, developed at Simon
Fraser University on behalf of the Council of Prairie and Pacific University
- Galileo Interconnected Libraries: GIL at
the University of Georgia is using MARC::Record to allow catalogers to download
USMARC records from UGA
Electronic Theses and Dissertations for upload into the GIL Voyager online
- Indian School of Business: The
Learning Resource Center at the ISB used MARC::Record to massage their MARC data
when moving to a new ILS.
- International Labour Office: have used MARC::Record to translate English language subject headings into French and Spanish; and also to create a current awareness service for their library.
- jake2marc: The Jointly Administered Knowledge Environment (jake) was an open source project that (among other things) used MARC.pm to provide a 'save-as-MARC' mechanism for serial titles available in over 190 databases. Jake created the USMARC data out of publicly available metadata for the electronic/print serials.
- Koha: An open source library system
made in New Zealand by the Horowhenua Library Trust and Katipo Communications
Ltd. Koha implements a full catalogue, OPAC, circulation, and acquisition
system...and it uses MARC::Record.
University Library Reading List System: uses MARC.pm, along with Net::Z3950,
and MySQL to create a book list management system. This system is available
under the GNU General Public License.
- Milton S. Eisenhower Library (Johns Hopkins University): used MARC.pm to remove 049 fields from MARC records.
- National Adult Literacy Database: using MARC::Record to import MARC data into a relational database as well as perform A MARC to Dublin Core metadata crosswalk.
- National University of Ireland, Galway: have used MARC.pm as an error checking tool as they migrate from Dynix to Aleph.
- Net::Z3950: Net::Z3950 is a CPAN module for creating clients and servers that query and return metadata records using the Z39.50 protocol. It is actually a Perl wrapper around the yaz C library. Net::Z3950 uses MARC.pm to render raw MARC data, and has plans to move support over to MARC::Record.
- Notre Dame University Library:
is using MARC::Record to extract data from their Ex Libris Aleph ILS in order
to populate a MySQL database that powers their web-based current awareness
- Princeton University Library:
has used MARC::Record and MARC::File::XML to convert exported MARCXML slim
data from Ex Libris' SFX product into the MARC communication format.
- RefDB: is a reference
database and bibliography tool for SGML, XML, and LaTeX/BibTeX documents. It
allows users to share databases over a network.
- Santa Monica College Library: have used MARC.pm to manipulate netLibrary and EbscoHost bibliographic records prior to loading into their Sirsi database. Steve Hunt of SMC has also used MARC.pm to take MARC records from Baker & Taylor Title Source II and used them to create Sirsi format order records.
- Texas A&M General Libraries: are using MARC.pm for database cleanup activities such as: 1) deleting 856 fields that do not provide useful links and constructing new 856 fields based on other data in the record; 2) deleting 856 $k subfields and moving the data into 852 $m.
- University of Connecticut Law
Library: used MARC.pm to process NetLibrary records. Peter Murray has
written up the project and made code available here.
- University of Hertfordshire: have
used MARC.pm to create MARC records for batches of items such as local exam papers and ejournals.
- University of Texas Library at Arlington:
have used MARC.pm to customize netLibrary records prior to import into a
Voyager online catalog.
- Virtual Library of Virginia: created over 8000 USMARC records from TEI encoded texts.
- Queens Library Offers Services In Cyrillic: MARC::Record used to
massage transliterated Russian back into Cyrillic.
- Models for
multilingual subject access in online library catalogues: the ILO experience, Ron Davies, International Labour Organization.
- Automatic generation of Sirsi
Unicorn order records, Steve Hunt, Santa Monica College Library.
- MARC.pm & Prebulk,
Michael Doran, University of Texas.
- Using MARC.pm with batches of MARC records: the
VIVA experience, Ed Summers.
- MARC and Perl: A Software Review,
- "MARC it your way: MARC.pm" in Information Technology and Libraries,
March, 2002; by Anne Highsmith, Mark Jordan, Eileen Llona, Peter E. Murray,
and Ed Summers.
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.
- Alex Arnaud [alex.arnaud at biblibre.com]
- Bryan Baldus [eijabb at cpan.org]
- Chuck Bearden [cbearden at rice.edu]
- Bill Birthisel [wcbirthisel at alum.mit.edu]
- Colin Campbell [colin.campbell at ptfs-europe.com]
- Brian Cassidy [bricas at cpan.org]
- Galen Charlton [gmcharlt at gmail.com]
- Frédéric Demians [f.demians at tamil.fr]
- Joshua Ferraro
- Morbus Iff [morbus at disobey.com]
- Mark Jordan [mjordan at sfu.ca]
- Derek Lane [dereklane at pobox.com]
- Andy Lester [andy at petdance.com]
- Charles McFadden [chuck at vims.edu]
- Mike O'Regan [moregan at flr.follett.com]
- Mike Rylander [miker at esilibrary.com]
- Ed Summers [ehs at pobox.com]
Web hosting graciously provided by: