MARC::Errorchecks

MARC::Errorchecks is a Perl module with a collection of MARC 21/AACR2 error checks.
Download

MARC::Errorchecks Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Bryan Baldus
  • Publisher web site:
  • http://search.cpan.org/~eijabb/MARC-File-MARCMaker-0.05/lib/MARC/File/MARCMaker.pm

MARC::Errorchecks Tags


MARC::Errorchecks Description

MARC::Errorchecks is a Perl module with a collection of MARC 21/AACR2 error checks. MARC::Errorchecks is a Perl module with a collection of MARC 21/AACR2 error checks.Module for storing MARC error checking subroutines, based on MARC 21, AACR2, and LCRIs. These are used to find errors not easily checked by the MARC::Lint and MARC::Lintadditions modules, such as those that cross field boundaries.Each subroutine should generally be passed a MARC::Record object.Returned warnings/errors are generated as follows: push @warningstoreturn, join '', ($field->tag(), ": t"); return @warningstoreturn;SYNOPSIS use MARC::Batch; use MARC::Errorchecks; #See also MARC::Lintadditions for more checks #use MARC::Lintadditions; #change file names as desired my $inputfile = 'marcfile.mrc'; my $errorfilename = 'errors.txt'; my $errorcount = 0; open (OUT, ">$errorfilename"); #initialize $infile as new MARC::Batch object my $batch = MARC::Batch->new('USMARC', "$inputfile"); my $errorcount = 0; #loop through batch file of records while (my $record = $batch->next()) { #if $record->field('001') #add this if some records in file do not contain an '001' field my $controlno = $record->field('001')->as_string(); #call MARC::Errorchecks subroutines my @errorstoreturn = (); # check everything push @errorstoreturn, (@{MARC::Errorchecks::check_all_subs($record)}); # or only a few push @errorstoreturn, (@{MARC::Errorchecks::check_010($record)}); push @errorstoreturn, (@{MARC::Errorchecks::check_bk008_vs_bibrefandindex($record)}); # report results if (@errorstoreturn){ ######################################### print OUT join( "t", "$controlno", @errorstoreturn, "tn"); $errorcount++; } } #whileRequirements:· PerlWhat's New in This Release:· Updated check_bk008_vs_300($record) to look for extra p. or v. after parenthetical qualifier.· Updated check_bk008_vs_300($record) to look for missing period after 'col' in subfield 'b'.· Replaced $field-tag() with $tag in error message reporting in check_nonpunctendingfields($record).· Turned off 50-field limit check in check_fieldlength($record).· Updated parse008vs300b($illcodes, $field300subb) to look for /map/ rather than just 'map' when 008 is coded 'b'.· Updated check_bk008_vs_bibrefandindex($record) to look for spacing on each side of parenthetical pagination.· Updated check_internal_spaces($record) to report 10 characters on either side of each set of multiple internal spaces.· Uncommented level-5 and level-7 leader values as acceptable. Level-3 is still commented out, but could be uncommented for libraries that allow it.· Includes version 1.14 of MARC::Lint::CodeData.


MARC::Errorchecks Related Software