This site contains a collection of MARC-related Perl scripts,
for cleaning and manipulating files of MARC21/USMARC records.
These were developed under MacOS 9.2.2, using MacPerl 5.8.0a2.
They have been tested on WindowsXP, using ActiveState Perl 5.8.?.


MARC::Record distribution (v. 1.40 (or latest pre-2.0) is latest tested)
MARC::BBMARC (Located on this site (

Business::ISBN and Business::ISSN (for's check_020 and check_022)

Also uses Time::HiRes.

Some modules and scripts use List::Compare (from CPAN)

Please let me know if you have any suggestions for improving these,
and use them as you wish.


Place,, and within the MARC directory of the MARC::Record distribution.
(actually in the MARC directory of the site_perl or site/lib directory,
in the same directory as

MARC::Lint::CodeData should go in a Lint directory in the MARC directory mentioned above.

MARC::Errorchecks may be able to be installed using the normal installation process--see the tarball for more information.

Place other scripts where required to be used by your system.

See Manifest for description of each file/script (Manifest is work in progress, and may not be comprehensive).
Also see each individual script or module documentation for more info.
(I realize POD documentation appearance may not be great, as I skipped that
section of the manuals)

Most of the main (full record) scripts are wrapped in code (relying upon MARC::BBMARC) that tells
when the program starts and stops, elapsed time, and prints a running
count every 1000 records.

About the author:

Bryan Baldus

I am a cataloger/librarian with very limited, programming experience.
I began teaching myself Perl, using Coriolis' Perl Black Book,
along with online documentation and books, around November, 2003.
The extent of my knowledge is limited to knowing enough to start using
MARC::Record's modules.


This software is free software and may be distributed under the same terms
as Perl itself.

Copyright (C) 2003-2005
Bryan Baldus

Last updated July 16, 2005.