Manifest/description of some of the files on this site

Required (used) modules for most of these scripts/programs

MARC::Record and its associated modules.


MARC::BBMARC (available on this site--if the link doesn't work, try browsing in /bryanmodules/ for the latest version)

For MARC::Lintadditions, Business::ISBN and Business::ISSN (from CPAN) are required (used).

Some scripts also require List::Compare (from CPAN).

Some scripts also use my MARC::QBI::Misc module for file handling. This is not yet available on my site. I am considering moving the file handling code to MARC::BBMARC, but haven't gotten around to it yet.

Extensions on files are either .txt, .pl/.pm, or a combination of the two.
All are plain text, most are .pls (except,, and, and end with .txt so that they can be saved/downloaded.

File names may not match the names listed here, but they should be close.
Not all files are covered here, and the individual files have better descriptions.
See also the index.htm list of Changes.


MARC::BBMARC -- module containing various subroutines that I have found useful.

MARC::Lintadditions -- module containing additional check_XXX functions for MARC::Lint of the MARC::Record distribution (see for more information).

MARC::Errorchecks -- module containing additional MARC record validation checks not easily performed in MARC::Lint and MARC::Lintadditions.

MARC::Lint::CodeData -- module containing MARC Code List data for Languages, Countries, and Geographic Areas. Used by checks in Lintadditions and Errorchecks.

There are tar.gz files for each of these.

At same level as index.htm:
Template for reading records: marcreadingstarttemplate.txt


Cleanup full recs

Code list cleanup


deleteSHandDDC.txt--Script for removing designated subject headings and Dewey numbers. Relies upon MARC::QBI::Misc for file handling and prompting.

EAN_ISBNconverter.txt--Reads from the command prompt EANs (13 digit ISBNs) and outputs to the screen ISBNs (10 digit).


The field extraction scripts are essentially the same, with minor modifications.

findmultiplefields.txt--Scans through a file of records and outputs control number of records having multiple occurances of a specified field.

hasbeenupdated.txt (Has been updated?)--Compares two files, and outputs list of those that have been updated.


mermarcfiles.txt (Merge MARC files)--Merges two files of MARC records into one, and removes any records with a control number matching one in a file of Deleted control numbers. The updated records are tacked on to the end of the base record file.

outputchangestogether.txt--Uses MARC::BBMARC::updated_record_hash() subroutine to match control number in updated file (1st file) with control number in base file (2nd file) and outputs the two as raw MARC, one right after the other.

printrecordasformatted.txt--Uses MARC::BBMARC's functions to output each field of a record in human readable form, with tabs separating each subfield, and @ as subfield indicator. This will need to be modified to work on other systems, as it uses MARC::QBI::Misc for file handling.

rawanddecodedscan.txt--Relies upon warnings generated in MARC::File::USMARC when decoding a record to take note of invalid indicators. Reports when indicators have been forced to blanks so that those records can be corrected without losing the indicators. a file of MARC records into multiple files, based on a specified (hard-coded presently) number of records.

Tests for Errorchecks

Most of these are previous versions/script versions of the subroutines in MARC::Errorchecks.

Tests for Lintadditions

Most of these are previous versions/script versions of the subroutines in MARC::Lintadditions.


Various scripts to clean output of fieldextraction.txt or other scripts.
See individual files for description of each.

Template for cleanupscripts:



Finds changed LCSH in the LCSH weekly lists. Outputs Tag [tab] Old heading [tab] New heading.
This is not yet working properly, but it does create a file of changed headings for each week, given a folder containing weekly lists. Actual file name will contain the version number.
It also compiles a single file of all changes in the specified folder's files.


Preliminary working version of MARC::File::MARCMaker, a module based on MARC::File::USMARC and ::MicroLIF, using code from the module. Once done, the module will allow one to work with MARCMaker format files.


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.