MARC::...deData(3pm)

πŸ“¦
version 1.53 Β· 3 versions
, in ubuntu noble, ubuntu resolute, ubuntu stonking

✨ NAME ✨

okay bestie, so this manual page is MARC::...deData(3pm) πŸ’… and it's all about MARC::Lint::CodeData β€” which contains codes from the MARC code lists for Geographic Areas, Languages, and Countries. that's the whole assignment, and honestly? iconic. πŸŽ€


🌸 DESCRIPTION 🌸

so like, what is this code data even for? it's used for validating fields 008, 040, 041, and 043. periodt.

also β€” and this part matters β€” it's the source for subfield 2 in 600-651 and 655. 🫢

it stores codes in hashes, like %MARC::Lint::CodeData::[name]. that's the vibe. iykyk.

⚠️ Note: According to the official MARC documentation, Sears is not a valid 655 term. The code data below treats it as valid, in anticipation of a change in the official documentation. so basically this data is manifesting the update early, no cap. 🌈

πŸ¦‹ SYNOPSIS πŸ¦‹

bestie, this is the import you need:

use MARC::Lint::CodeData;

#Should provide access to the following:
#%MARC::Lint::CodeData::GeogAreaCodes;
#%MARC::Lint::CodeData::ObsoleteGeogAreaCodes;
#%MARC::Lint::CodeData::LanguageCodes;
#%MARC::Lint::CodeData::ObsoleteLanguageCodes;
#%MARC::Lint::CodeData::CountryCodes;
#%MARC::Lint::CodeData::ObsoleteCountryCodes;
#%MARC::Lint::CodeData::Sources600_651;
#%MARC::Lint::CodeData::ObsoleteSources600_651;
#%MARC::Lint::CodeData::Sources655;
#%MARC::Lint::CodeData::ObsoleteSources655;

#or, import specific code list data use MARC::Lint::CodeData
qw(%GeogAreaCodes);

my $gac = "n-us---"; my $validgac = 1 if ($GeogAreaCodes{$gac}); print
"Geographic Area Code $gac is valid\n" if $validgac;

like look at that little example at the bottom β€” it grabs a Geographic Area Code, checks whether it's in %GeogAreaCodes, and prints that happy little "is valid" line. cute! ✨


πŸ‘‘ EXPORT πŸ‘‘

None by default. she's lowkey mysterious like that. πŸ™ˆ

@EXPORT_OK: %GeogAreaCodes, %ObsoleteGeogAreaCodes, %LanguageCodes, %ObsoleteLanguageCodes, %CountryCodes, %ObsoleteCountryCodes, %Sources600_651, %ObsoleteSources600_651, %Sources655, %ObsoleteSources655.

so if you want any of those, you gotta ask for them by name, bestie. 🫢


πŸ’€ TO DO πŸ’€

the author really said "here's my to-do list, hold my iced coffee" β€” and honestly? respect. πŸ’…

  1. Update codes as needed (see <http://www.loc.gov/marc/>).
  2. Add other codes for MARC Code Lists for Relators, Sources, Description Conventions.
  3. Determine what to do about 600-655 codes with indicators (cash, lcsh, lcshac, mesh, nal, and rvm). Currently, these are duplicated in valid and obsolete hashes. Validation routines should probably treat these differently due to large numbers of records using these codes, created before the indicators were allowed.
  4. Determine whether three blank spaces should be in the LanguageCodes (for 008 validation) or not. If it is here, then 041 would be allowed to have three blank spaces as a valid code (though other checks would report the error--spaces at the beginning and ending of a subfield and multiple spaces in a field where such a thing is not allowed).
  5. Update Subject source codes with codes from additional Source lists (see <https://www.loc.gov/standards/sourcelist/subject.html>):
    • Genre/Form Term and Code Source Codes
    • Occupation Term Source Codes
    • Function Term Source Codes
    • Temporal Term Source Codes
    • Name and Title Source Codes
    • Classification Scheme Source Codes
    • Subject Category Code Source Codes

πŸ” SEE ALSO πŸ”

  • MARC::Lint
  • MARC::Lintadditions (for check_040, check_041, check_043 using these codes)
  • MARC::Errorchecks (for 008 validation using these codes)
  • <http://www.loc.gov/marc/> for the official code lists.
  • The following (should be included in the distribution package for this package): countrycodelistclean.pl gaccleanupscript.pl languagecodelistclean.pl The scripts above take the MARC code list ASCII version as input. They output tab-separated codes for updating the data below.

πŸ’… Version 1.38 β€” Updated September 5, 2020

bestie she has been BUSY. look at this glow-up list:

  • Added new sources codes from Technical Notice of September 15, 2017
  • Added new sources codes from Technical Notice of October 20, 2017
  • Added new sources codes from Technical Notice of December 01, 2017
  • Added new sources codes from Technical Notice of January 26, 2018
  • Added new sources codes from Technical Notice of March 09, 2018
  • Added new sources codes from Technical Notice of May 25, 2018
  • Added new sources codes from Technical Notice of July 27, 2018
  • Added new sources codes from Technical Notice of August 31, 2018
  • Added new sources codes from Technical Notice of October 12, 2018
  • Added new sources codes from Technical Notice of October 26, 2018
  • Added new sources codes from Technical Notice of March 27, 2019
  • Added new sources codes from Technical Notice of April 19, 2019
  • Added new sources codes from Technical Notice of May 31, 2019
  • Added new sources codes from Technical Notice of August 09, 2019
  • Added new sources codes from Technical Notice of September 13, 2019
  • Added new sources codes from Technical Notice of October 04, 2019
  • Added new sources codes from Technical Notice of October 11, 2019
  • Added new sources codes from Technical Notice of November 1, 2019
  • Added new sources codes from Technical Notice of November 26, 2019
  • Added new sources codes from Technical Notice of December 12, 2019
  • Added new sources codes from Technical Notice of February 21, 2020
  • Added new sources codes from Technical Notice of March 13, 2020
  • Added new sources codes from Technical Notice of May 1, 2020
  • Added new sources codes from Technical Notice of June 26, 2020
  • Added new sources codes from Technical Notice of July 28, 2020

that's twenty-five (25) technical notices in ONE release. the dedication. the commitment. she's giving archival main character energy fr fr 🌸


πŸ¦‹ Version 1.37 β€” Updated August 2, 2017

  • Added new sources codes from Technical Notice of February 19, 2016
  • Added new sources codes from Technical Notice of February 26, 2016
  • Added new sources codes from Technical Notice of April 8, 2016
  • Added new sources codes from Technical Notice of July 29, 2016
  • Added new sources codes from Technical Notice of September 16, 2016
  • Added new sources codes from Technical Notice of November 2, 2016
  • Added new sources codes from Technical Notice of December 2, 2016
  • Added new sources codes from Technical Notice of February 17, 2017
  • Added new sources codes from Technical Notice of February 28, 2017
  • Added new sources codes from Technical Notice of March 10, 2017
  • Added new sources codes from Technical Notice of March 24, 2017
  • Added new sources codes from Technical Notice of May 19, 2017
  • Added new sources codes from Technical Notice of June 21, 2017
  • Added new sources codes from Technical Notice of July 13, 2017

πŸ’œ Version 1.36 β€” Updated January 17, 2016

  • Added new sources codes from Technical Notice of November 12, 2015
  • Added bidex to %Sources655

πŸŽ€ Version 1.35 β€” Updated July 1, 2015

  • Added new sources codes from Technical Notice of July 3, 2014
  • Added new sources codes from Technical Notice of July 18, 2014
  • Added new sources codes from Technical Notice of September 18, 2014
  • Added new sources codes from Technical Notice of October 22, 2014
  • Added new sources codes from Technical Notice of November 14, 2014
  • Added new sources codes from Technical Notice of January 23, 2015
  • Added new sources codes from Technical Notice of March 13, 2015
  • Added new sources codes from Technical Notice of June 23, 2015

✨ Version 1.34 β€” Updated June 8, 2014

Not yet deleted from sources600_651 pending confirmation: dacs iaat ilot itoamc lcmpt ndllsh onet raam tbit toit

(that's the "we're waiting on confirmation besties, don't @ us" list 😭 it literally says not yet deleted and pending confirmation, so those ten codes are still chilling in there for now)

πŸ’– Version 1.33 β€” Updated Sept. 1, 2013

  • Added new country and GAC codes from Technical Notice of Feb. 22, 2013
  • Added new country and GAC codes from Technical Notice of Mar. 22, 2013
  • Added new country and GAC codes from Technical Notice of Apr. 25, 2013 (with correction of May 15, 2013)
  • Added new country and GAC codes from Technical Notice of May 29, 2013
  • Added new country and GAC codes from Technical Notice of June 26, 2013
  • Added new country and GAC codes from Technical Notice of July 26, 2013

πŸ“ Version 1.32 β€” Updated Sept. 2, 2012

  • Separated "NAME and DESCRIPTION" pod section into "NAME" and "DESCRIPTION"
  • Sorted tab-separated lists for country codes and GAC alphabetically
  • Added new country and GAC codes from Technical Notice of Aug. 15, 2011
  • Added new country and GAC codes from Technical Notice of Dec. 6, 2011
  • Added new sources codes from Technical Notice of Dec. 14, 2011
  • Added new sources codes from Technical Notice of Dec. 23, 2011
  • Added new sources codes from Technical Notice of Jan. 26, 2012
  • Added new sources codes from Technical Notice of Mar. 28, 2012
  • Added new sources codes from Technical Notice of Apr. 27, 2012
  • Added new sources codes from Technical Notice of July 11, 2012
  • Added new sources codes from Technical Notice of Aug. 29, 2012

ok "Sorted tab-separated lists ... alphabetically" is the least glamorous bullet ever but honestly sorting your lists IS self care πŸ’…

🌈 Version 1.31 β€” Updated Aug. 15, 2011

  • Added new sources codes from Technical Notice of Apr. 28, 2010.
  • Added new sources codes from Technical Notice of May 26, 2010.
  • Added new sources codes from Technical Notice of June 18, 2010.
  • Added new sources codes from Technical Notice of Jan. 5, 2011.
  • Added new sources codes from Technical Notice of Apr. 13, 2011.
  • Added new sources codes from Technical Notice of Apr. 22, 2011.
  • Added new sources codes from Technical Notice of May 20, 2011.
  • Added new sources codes from Technical Notice of June 14, 2011.
  • Added new sources codes from Technical Notice of July 15, 2011.

🧚 Version 1.30 β€” Updated Jan. 27, 2010

  • Added new sources codes from Technical Notice of Jan. 26, 2010.

one whole technical notice. one bullet. queen of restraint tbh πŸ‘‘

⭐ Version 1.29 β€” Updated Nov. 18, 2009

  • Added new sources codes from Technical Notice of Sept. 30, 2009.
  • Added new sources codes from Technical Notice of Oct. 26, 2009.

πŸ‘‘ Version 1.28 β€” Updated May 2, 2009

  • Added new sources codes from Technical Notice of Oct. 10, 2008.
  • Added new sources codes from Technical Notice of Dec. 16, 2008.
  • Added new language codes from Technical Notice of Jan. 6, 2009 (mol moved to ObsoleteLanguageCodes).
  • Added new sources codes from Technical Notice of Jan. 23, 2009.
  • Added new sources codes from Technical Notice of Feb. 19, 2009.
  • Added new sources codes from Technical Notice of Apr. 22, 2009.

RIP to mol, you served your time and now you live in ObsoleteLanguageCodes πŸ«‘πŸ’

πŸ’€ Version 1.27 β€” Updated Aug. 14, 2008

  • Added new sources codes from Technical Notice of July 25, 2008.

πŸ¦‹ Version 1.26 β€” Updated July 6, 2008

  • Added new language codes from Technical Notice of July 1, 2008.
  • Moved obsolete language codes 'scc' and 'scr' to the obsolete language hash.

🌸 Version 1.25 β€” Updated Apr. 28, 2008

  • Added new sources codes from Technical Notice of Apr. 25, 2008.

πŸ’œ Version 1.24 β€” Updated Mar. 30, 2008

  • Added new sources codes from Technical Notice of Mar. 28, 2008.

✨ Version 1.23 β€” Updated Mar. 26, 2008

  • Added new country and GAC codes from Technical Notice of Mar. 25, 2008.

πŸŽ€ Version 1.22 β€” Updated Jan. 21, 2008

  • Added new sources codes from Technical Notice of Jan. 18, 2008.

πŸ”₯ Version 1.21 β€” Updated Nov. 30, 2007

  • Added new sources codes from Technical Notice of Nov. 30, 2007.

same-day turnaround!! the way she saw the notice and shipped the codes on the SAME DAY, that's iconic behavior fr fr ⚑

🌈 Version 1.20 β€” Updated Nov. 19, 2007

  • Added new language codes from Technical Notice of Nov. 16, 2007.

πŸ’… Version 1.19 β€” Updated Oct. 22, 2007

  • Added new language codes from Technical Notice of Oct. 22, 2007.

πŸ“ Version 1.18 β€” Updated Aug. 14, 2007

  • Added new source codes from Technical Notice of Aug. 13, 2007.

⭐ Version 1.17 β€” Updated July 16, 2007

  • Added new source codes from Technical Notice of July 13, 2007.

🧚 Version 1.16 β€” Updated Apr. 18, 2007

  • Added new source codes from Technical Notice of Apr. 5, 2007.

πŸ‘‘ Version 1.15 β€” Updated Feb. 28, 2007

  • Added new country and geographic codes from Technical Notice of Feb. 28, 2007.
  • Added 'yu ' to list of obsolete codes.

note the trailing space in 'yu ' bestie, it's there on purpose, do not "fix" it, I'm begging πŸ™ˆ

πŸ’œ Version 1.14 β€” Updated Jan. 8, 2007

  • Added new source codes from Technical Notice of Jan. 5, 2007.

πŸ¦‹ Version 1.13 β€” Updated Nov. 19, 2006

  • Added new source codes from Technical Notice of Nov. 14, 2006.

🌸 Version 1.12 β€” Updated Oct. 20, 2006

  • Added new source code from Technical Notice of Oct. 19, 2006.

(one single source code. one. a minimalist moment πŸ’…)

πŸŽ€ Version 1.11 β€” Updated Oct. 18, 2006

  • Added new source codes from Technical Notice of Oct. 17, 2006.

✨ Version 1.10 β€” Updated Aug. 30, 2006

  • Added new source codes from Technical Notice of Aug. 29, 2006.

πŸ”₯ Version 1.09 β€” Updated June 26, 2006

  • Added new source codes from Technical Notice of June 23, 2006.

🌈 Version 1.08 β€” Updated May 30, 2006

  • Added new source codes from Technical Notice of May 26, 2006.

πŸ’– Version 1.07 β€” Updated Mar. 13, 2006

  • Added new source codes from Technical Notice of Mar. 10, 2006.

⭐ Version 1.06 β€” Updated Feb. 23, 2006

  • Added new language codes from Technical Notice of Feb 23, 2006.
  • Alphabetized language codes.

πŸ“ Version 1.05 β€” Updated Jan. 11, 2006

  • Added new sources codes from Technical Notice of Jan. 10, 2006.

🧚 Version 1.04 β€” Updated Oct. 13, 2005

  • Added new sources codes from Technical Notice of Oct. 12, 2005.

πŸ‘‘ Version 1.03 β€” Updated Aug. 31, 2005

  • Added new language codes for Ainu and Southern Altai (August 30, 2005 technical notice)

πŸ’œ Version 1.02 β€” Updated June 21-July 12, 2005. Released (to CPAN) with new version of MARC::Errorchecks.

  • Added GAC and Country code changes for Australia (July 12, 2005 update)
  • Added 6xx subfield 2 source code data for June 17, 2005 update.
  • Updated valid Language codes to June 2, 2005 changes.

πŸ¦‹ Version 1.01 β€” Updated Jan. 5-Feb. 10, 2005. Released (to CPAN) Feb. 13, 2005 (with new version of MARC::Errorchecks).

  • Added code list data for 600-651 subfield 2 and for 655 subfield 2 sources.
  • Updated codes based on changes made Jan. 19 (languages), Feb. 2 (sources), Feb. 9 (sources).

🌸 Version 1.00 (original version): First release, Dec. 5, 2004. Uploaded to SourceForge CVS, Jan. 3, 2005.

  • Included in MARC::Errorchecks distribution on CPAN.
  • Used by MARC::Lintadditions.

the origin story!! Dec. 5, 2004, a legend was born, and then she got uploaded to SourceForge CVS on Jan. 3, 2005. baby's first commit energy 😭🫢


🌈 LICENSE 🌈

okay legal bestie moment, but make it cute:

This code may be distributed under the same terms as Perl itself.

so basically: same vibes as Perl, go forth and share ✨

and like, a genuinely important heads-up:

Please note that this module is not a product of or supported by the employers of the various contributors to the code.

read it again bestie, it's saying the quiet part out loud: all these contributors did this on their own, and their employers are NOT backing it, NOT supporting it, NOT sponsoring it. so don't go emailing anybody's boss about a bug, k? πŸ™ˆπŸ’œ

πŸ‘‘ AUTHOR πŸ‘‘

This whole thing was written by Bryan Baldus, who you can reach at eijabb@cpan.org if you ever wanna say hi or file a vibe complaint. 🫢

Copyright (c) 2004-2020. Yes bestie, that's a sixteen-year run of keeping this module alive and thriving β€” that's not a phase, that's legacy. πŸ’…


okay so that's literally the whole page, we made it to the end together πŸŽ€ go forth and normalise your MARC data, you absolute icon.

this little love letter came from the User Contributed Perl Documentation pages as MARC::...deData(3pm), and the version stamp on it is perl v5.36.0 dated 2022-10-14. ✨

mwah, bye bestie πŸ’–πŸ¦‹

πŸ“¦ where this page comes from