Description
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 ISO 2709 in 1973
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 any feature requests or find any bugs, please report
them by opening an issue.
Also, if you have have any ideas for a new MARC module or have authored
one, we would appreciate a heads-up via a GitHub issue.
Downloads
The latest stable version of the MARC::Record package is available from the
Comprehensive Perl Archive Network (CPAN).
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.
Documentation
- MARC::Record::Tutorial : pdf
- MARC::Record : html
- MARC::Lint : html
- MARC::File::XML : html
- MARC::Charset : html
Some Users
- 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:
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
Libraries (COPPUL).
- 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
catalog.
- 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.
- Loughborough
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
service.
- 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.
Other Writings
- 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,
Derek Lane.
- "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.
Developers
Please feel free to suggest improvements to the MARC/Perl and/or join the
development team by visiting MARC/Perl's GitHub repository.
Here's a list of developers who have contributed to the MARC/Perl project.
- Alex Arnaud
- Bryan Baldus
- Chuck Bearden
- Bill Birthisel
- Colin Campbell
- Brian Cassidy
- Galen Charlton
- Tomas Cohen Arazi
- Frédéric Demians
- Bill Deuber
- Joshua Ferraro
- Morbus Iff
- Damyan Ivanov
- Mark Jordan
- Derek Lane
- Andy Lester
- Charles McFadden
- Mike O'Regan
- Martin Renvoize
- Johann Rolschewski
- Mike Rylander
- Florian Schlichting
- Robin Sheat
- Jason Stephenson
- Ed Summers
- Niko Tyni
- Tim Wentz