~ubuntu-branches/ubuntu/raring/libmarc-lint-perl/raring

« back to all changes in this revision

Viewing changes to lib/MARC/Lint/CodeData.pm

  • Committer: Package Import Robot
  • Author(s): Florian Schlichting, Ryan Niebur, gregor herrmann, Ansgar Burchardt, Florian Schlichting
  • Date: 2012-08-31 23:09:21 UTC
  • mfrom: (1.1.3)
  • Revision ID: package-import@ubuntu.com-20120831230921-dzjf0njsoqfi29dg
Tags: 1.45-1
[ Ryan Niebur ]
* Email change: Jonathan Yu -> jawnsy@cpan.org.

[ gregor herrmann ]
* debian/rules: switch order of arguments to dh.

[ Ansgar Burchardt ]
* debian/control: Convert Vcs-* fields to Git.

[ gregor herrmann ]
* debian/control: update {versioned,alternative} (build) dependencies.

[ Florian Schlichting ]
* Imported Upstream version 1.45.
* Bumped Standards-Version to 3.9.3 (use copyright-format 1.0).
* Bumped years of upstream copyright.
* Bumped dh compatibility to level 8 (no changes necessary).
* Switched to source format 3.0 (quilt).
* Refreshed and forwarded 01_fix-man-name.patch.
* Added myself to uploaders and copyright.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
package MARC::Lint::CodeData;
2
2
 
3
 
 
4
 
 
5
3
use strict;
6
 
 
7
4
use warnings; 
8
5
 
9
 
 
10
 
 
11
6
#declare the necessary variables
12
 
 
13
7
use vars qw($VERSION @EXPORT_OK %GeogAreaCodes %ObsoleteGeogAreaCodes %LanguageCodes %ObsoleteLanguageCodes %CountryCodes %ObsoleteCountryCodes %Sources600_651 %ObsoleteSources600_651 %Sources655 %ObsoleteSources655);
14
8
 
15
 
 
16
 
 
17
 
$VERSION = '1.28';
18
 
 
19
 
 
 
9
$VERSION = '1.31';
20
10
 
21
11
use base qw(Exporter AutoLoader);
22
12
 
23
 
 
24
 
 
25
13
@EXPORT_OK = qw(%GeogAreaCodes %ObsoleteGeogAreaCodes %LanguageCodes %ObsoleteLanguageCodes %CountryCodes %ObsoleteCountryCodes %Sources600_651 %ObsoleteSources600_651 %Sources655 %ObsoleteSources655);
26
14
 
27
 
 
28
 
 
29
 
=head1 NAME and DESCRIPTION
30
 
 
31
 
 
 
15
=head1 NAME
32
16
 
33
17
MARC::Lint::CodeData -- Contains codes from the MARC code lists for Geographic Areas, Languages, and Countries.
34
18
 
 
19
=head1 DESCRIPTION
35
20
 
36
21
 
37
22
Code data is used for validating fields 008, 040, 041, and 043.
38
23
 
39
 
 
40
 
 
41
24
Also, sources for subfield 2 in 600-651 and 655.
42
25
 
43
 
 
44
 
 
45
26
Stores codes in hashes, %MARC::Lint::CodeData::[name].
46
27
 
47
 
 
48
 
 
49
28
Note: According to the official MARC documentation, Sears is not a valid 655
50
 
 
51
29
term. The code data below treats it as valid, in anticipation of a change in
52
 
 
53
30
the official documentation.
54
31
 
55
 
 
56
 
 
57
32
=head1 SYNOPSIS
58
33
 
59
 
 
60
 
 
61
34
use MARC::Lint::CodeData;
62
35
 
63
 
 
64
 
 
65
36
#Should provide access to the following:
66
 
 
67
37
#%MARC::Lint::CodeData::GeogAreaCodes;
68
 
 
69
38
#%MARC::Lint::CodeData::ObsoleteGeogAreaCodes;
70
 
 
71
39
#%MARC::Lint::CodeData::LanguageCodes;
72
 
 
73
40
#%MARC::Lint::CodeData::ObsoleteLanguageCodes;
74
 
 
75
41
#%MARC::Lint::CodeData::CountryCodes;
76
 
 
77
42
#%MARC::Lint::CodeData::ObsoleteCountryCodes;
78
 
 
79
43
#%MARC::Lint::CodeData::Sources600_651;
80
 
 
81
44
#%MARC::Lint::CodeData::ObsoleteSources600_651;
82
 
 
83
45
#%MARC::Lint::CodeData::Sources655;
84
 
 
85
46
#%MARC::Lint::CodeData::ObsoleteSources655;
86
47
 
87
48
 
88
 
 
89
 
 
90
 
 
91
49
#or, import specific code list data
92
 
 
93
50
use MARC::Lint::CodeData qw(%GeogAreaCodes);
94
51
 
95
 
 
96
 
 
97
52
my $gac = "n-us---";
98
 
 
99
53
my $validgac = 1 if ($GeogAreaCodes{$gac});
100
 
 
101
54
print "Geographic Area Code $gac is valid\n" if $validgac;
102
55
 
103
56
 
104
 
 
105
 
 
106
 
 
107
57
=head1 EXPORT
108
58
 
109
 
 
110
 
 
111
59
None by default. 
112
 
 
113
60
@EXPORT_OK: %GeogAreaCodes, %ObsoleteGeogAreaCodes, %LanguageCodes, %ObsoleteLanguageCodes, %CountryCodes, %ObsoleteCountryCodes, %Sources600_651, %ObsoleteSources600_651, %Sources655, %ObsoleteSources655.
114
61
 
115
 
 
116
 
 
117
62
=head1 TO DO
118
63
 
119
 
 
120
 
 
121
64
Update codes as needed (see L<http://www.loc.gov/marc/>).
122
65
 
123
 
 
124
 
 
125
66
Add other codes for MARC Code Lists for Relators, Sources, Description Conventions.
126
67
 
127
 
 
128
 
 
129
68
Determine what to do about 600-655 codes with indicators (cash, lcsh, lcshac,
130
 
 
131
69
mesh, nal, and rvm). Currently, these are duplicated in valid and obsolete
132
 
 
133
70
hashes. Validation routines should probably treat these differently due to large
134
 
 
135
71
numbers of records using these codes, created before the indicators were
136
 
 
137
72
allowed.
138
73
 
139
 
 
140
 
 
141
74
Determine whether three blank spaces should be in the LanguageCodes (for 008 validation) or not. 
142
 
 
143
75
If it is here, then 041 would be allowed to have three blank spaces as a valid code 
144
 
 
145
76
(though other checks would report the error--spaces at the beginning and ending of a subfield
146
 
 
147
77
and multiple spaces in a field where such a thing is not allowed).
148
78
 
149
 
 
150
 
 
151
79
=head2 SEE ALSO
152
80
 
153
 
 
154
 
 
155
81
L<MARC::Lint>
156
82
 
157
 
 
158
 
 
159
83
L<MARC::Lintadditions> (for check_040, check_041, check_043 using these codes)
160
84
 
161
 
 
162
 
 
163
85
L<MARC::Errorchecks> (for 008 validation using these codes)
164
86
 
165
 
 
166
 
 
167
87
L<http://www.loc.gov/marc/> for the official code lists.
168
88
 
169
 
 
170
 
 
171
89
The following (should be included in the distribution package for this package):
172
 
 
173
90
countrycodelistclean.pl
174
 
 
175
91
gaccleanupscript.pl
176
 
 
177
92
languagecodelistclean.pl
178
 
 
179
93
The scripts above take the MARC code list ASCII version as input.
180
 
 
181
94
They output tab-separated codes for updating the data below.
182
95
 
183
 
 
184
 
 
185
96
=head1 VERSION HISTORY
186
97
 
187
 
 
 
98
Version 1.31: Updated Aug. 15, 2011.
 
99
 
 
100
 -Added new sources codes from Technical Notice of Apr. 28, 2010.
 
101
 -Added new sources codes from Technical Notice of May 26, 2010.
 
102
 -Added new sources codes from Technical Notice of June 18, 2010.
 
103
 -Added new sources codes from Technical Notice of Jan. 5, 2011.
 
104
 -Added new sources codes from Technical Notice of Apr. 13, 2011.
 
105
 -Added new sources codes from Technical Notice of Apr. 22, 2011.
 
106
 -Added new sources codes from Technical Notice of May 20, 2011.
 
107
 -Added new sources codes from Technical Notice of June 14, 2011.
 
108
 -Added new sources codes from Technical Notice of July 15, 2011.
 
109
 
 
110
Version 1.30: Updated Jan. 27, 2010.
 
111
 
 
112
 -Added new sources codes from Technical Notice of Jan. 26, 2010.
 
113
 
 
114
Version 1.29: Updated Nov. 18, 2009.
 
115
 
 
116
 -Added new sources codes from Technical Notice of Sept. 30, 2009.
 
117
 -Added new sources codes from Technical Notice of Oct. 26, 2009.
188
118
 
189
119
Version 1.28: Updated May 2, 2009.
190
120
 
191
 
 
192
 
 
193
121
 -Added new sources codes from Technical Notice of Oct. 10, 2008.
194
 
 
195
122
 -Added new sources codes from Technical Notice of Dec. 16, 2008.
196
 
 
197
123
 -Added new language codes from Technical Notice of Jan. 6, 2009 (mol moved to ObsoleteLanguageCodes).
198
 
 
199
124
 -Added new sources codes from Technical Notice of Jan. 23, 2009.
200
 
 
201
125
 -Added new sources codes from Technical Notice of Feb. 19, 2009.
202
 
 
203
126
 -Added new sources codes from Technical Notice of Apr. 22, 2009.
204
127
 
205
128
 
206
 
 
207
 
 
208
 
 
209
129
Version 1.27: Updated Aug. 14, 2008.
210
130
 
211
 
 
212
 
 
213
131
 -Added new sources codes from Technical Notice of July 25, 2008.
214
132
 
215
 
 
216
 
 
217
133
Version 1.26: Updated July 6, 2008.
218
134
 
219
 
 
220
 
 
221
135
 -Added new language codes from Technical Notice of July 1, 2008.
222
 
 
223
136
 -Moved obsolete language codes 'scc' and 'scr' to the obsolete language hash.
224
137
 
225
 
 
226
 
 
227
138
Version 1.25: Updated Apr. 28, 2008.
228
139
 
229
 
 
230
 
 
231
140
 -Added new sources codes from Technical Notice of Apr. 25, 2008.
232
141
 
233
 
 
234
 
 
235
142
Version 1.24: Updated Mar. 30, 2008.
236
143
 
237
 
 
238
 
 
239
144
 -Added new sources codes from Technical Notice of Mar. 28, 2008.
240
145
 
241
 
 
242
 
 
243
146
Version 1.23: Updated Mar. 26, 2008.
244
147
 
245
 
 
246
 
 
247
148
 -Added new country and GAC codes from Technical Notice of Mar. 25, 2008.
248
149
 
249
 
 
250
 
 
251
150
Version 1.22: Updated Jan. 21, 2008.
252
151
 
253
 
 
254
 
 
255
152
 -Added new sources codes from Technical Notice of Jan. 18, 2008.
256
153
 
257
 
 
258
 
 
259
154
Version 1.21: Updated Nov. 30, 2007.
260
155
 
261
 
 
262
 
 
263
156
 -Added new sources codes from Technical Notice of Nov. 30, 2007.
264
157
 
265
 
 
266
 
 
267
158
Version 1.20: Updated Nov. 19, 2007.
268
159
 
269
 
 
270
 
 
271
160
 -Added new language codes from Technical Notice of Nov. 16, 2007.
272
161
 
273
 
 
274
 
 
275
162
Version 1.19: Updated Oct. 22, 2007.
276
163
 
277
 
 
278
 
 
279
164
 -Added new language codes from Technical Notice of Oct. 22, 2007.
280
165
 
281
 
 
282
 
 
283
166
Version 1.18: Updated Aug. 14, 2007.
284
167
 
285
 
 
286
 
 
287
168
 -Added new source codes from Technical Notice of Aug. 13, 2007.
288
169
 
289
 
 
290
 
 
291
170
Version 1.17: Updated July 16, 2007.
292
171
 
293
 
 
294
 
 
295
172
 -Added new source codes from Technical Notice of July 13, 2007.
296
173
 
297
 
 
298
 
 
299
174
Version 1.16: Updated Apr. 18, 2007.
300
175
 
301
 
 
302
 
 
303
176
 -Added new source codes from Technical Notice of Apr. 5, 2007.
304
177
 
305
 
 
306
 
 
307
178
Version 1.15: Updated Feb. 28, 2007.
308
179
 
309
 
 
310
 
 
311
180
 -Added new country and geographic codes from Technical Notice of Feb. 28, 2007.
312
 
 
313
181
 -Added 'yu ' to list of obsolete codes.
314
182
 
315
 
 
316
 
 
317
183
Version 1.14: Updated Jan. 8, 2007.
318
184
 
319
 
 
320
 
 
321
185
 -Added new source codes from Technical Notice of Jan. 5, 2007.
322
186
 
323
 
 
324
 
 
325
187
Version 1.13: Updated Nov. 19, 2006.
326
188
 
327
 
 
328
 
 
329
189
 -Added new source codes from Technical Notice of Nov. 14, 2006.
330
190
 
331
 
 
332
 
 
333
191
Version 1.12: Updated Oct. 20, 2006.
334
192
 
335
 
 
336
 
 
337
193
 -Added new source code from Technical Notice of Oct. 19, 2006.
338
194
 
339
 
 
340
 
 
341
195
Version 1.11: Updated Oct. 18, 2006.
342
196
 
343
 
 
344
 
 
345
197
 -Added new source codes from Technical Notice of Oct. 17, 2006.
346
198
 
347
 
 
348
 
 
349
199
Version 1.10: Updated Aug. 30, 2006.
350
200
 
351
 
 
352
 
 
353
201
 -Added new source codes from Technical Notice of Aug. 29, 2006.
354
202
 
355
 
 
356
 
 
357
203
Version 1.09: Updated June 26, 2006.
358
204
 
359
 
 
360
 
 
361
205
 -Added new source codes from Technical Notice of June 23, 2006.
362
206
 
363
 
 
364
 
 
365
207
Version 1.08: Updated May 30, 2006.
366
208
 
367
 
 
368
 
 
369
209
 -Added new source codes from Technical Notice of May 26, 2006.
370
210
 
371
 
 
372
 
 
373
211
Version 1.07: Updated Mar. 13, 2006.
374
212
 
375
 
 
376
 
 
377
213
 -Added new source codes from Technical Notice of Mar. 10, 2006.
378
214
 
379
 
 
380
 
 
381
215
Version 1.06: Updated Feb. 23, 2006.
382
216
 
383
 
 
384
 
 
385
217
 -Added new language codes from Technical Notice of Feb 23, 2006.
386
 
 
387
218
 -Alphabetized language codes.
388
219
 
389
 
 
390
 
 
391
220
Version 1.05: Updated Jan. 11, 2006.
392
221
 
393
 
 
394
 
 
395
222
 -Added new sources codes from Technical Notice of Jan. 10, 2006.
396
223
 
397
 
 
398
 
 
399
224
Version 1.04: Updated Oct. 13, 2005.
400
225
 
401
 
 
402
 
 
403
226
 -Added new sources codes from Technical Notice of Oct. 12, 2005.
404
227
 
405
 
 
406
 
 
407
228
Version 1.03: Updated Aug. 31, 2005.
408
229
 
409
 
 
410
 
 
411
230
 -Added new language codes for Ainu and Southern Altai (August 30, 2005 technical notice)
412
231
 
413
 
 
414
 
 
415
232
Version 1.02: Updated June 21-July 12, 2005. Released (to CPAN) with new version of MARC::Errorchecks.
416
233
 
417
 
 
418
 
 
419
234
 -Added GAC and Country code changes for Australia (July 12, 2005 update)
420
 
 
421
235
 -Added 6xx subfield 2 source code data for June 17, 2005 update.
422
 
 
423
236
 -Updated valid Language codes to June 2, 2005 changes.
424
237
 
425
 
 
426
 
 
427
238
Version 1.01: Updated Jan. 5-Feb. 10, 2005. Released (to CPAN) Feb. 13, 2005 (with new version of MARC::Errorchecks).
428
239
 
429
 
 
430
 
 
431
240
 -Added code list data for 600-651 subfield 2 and for 655 subfield 2 sources.
432
 
 
433
241
 -Updated codes based on changes made Jan. 19 (languages), Feb. 2 (sources), Feb. 9 (sources). 
434
 
 
435
242
 
436
 
 
437
243
Version 1.00 (original version): First release, Dec. 5, 2004. Uploaded to SourceForge CVS, Jan. 3, 2005.
438
 
 
439
244
 -Included in MARC::Errorchecks distribution on CPAN.
440
 
 
441
245
 -Used by MARC::Lintadditions.
442
246
 
443
 
 
444
 
 
445
247
=cut
446
248
 
447
 
 
448
 
 
449
249
#fill the valid Geographic Area Codes hash
450
250
 
451
 
 
452
 
 
453
251
%GeogAreaCodes = map {($_, 1)} (split "\t", ("a-af---   f------ fc----- fe----- fq----- ff----- fh----- fs----- fb----- fw----- n-us-al n-us-ak e-aa--- n-cn-ab f-ae--- ea----- sa----- poas--- aa----- sn----- e-an--- f-ao--- nwxa--- a-cc-an t------ nwaq--- nwla--- n-usa-- ma----- ar----- au----- r------ s-ag--- n-us-az n-us-ar a-ai--- nwaw--- lsai--- u-ac--- a------ ac----- as----- l------ fa----- u------ u-at--- u-at-ac e-au--- a-aj--- lnaz--- nwbf--- a-ba--- ed----- eb----- a-bg--- nwbb--- a-cc-pe e-bw--- e-be--- ncbh--- el----- ab----- f-dm--- lnbm--- a-bt--- mb----- a-ccp-- s-bo--- nwbn--- a-bn--- e-bn--- f-bs--- lsbv--- s-bl--- n-cn-bc i-bi--- nwvb--- a-bx--- e-bu--- f-uv--- a-br--- f-bd--- n-us-ca a-cb--- f-cm--- n-cn--- nccz--- lnca--- lncv--- cc----- poci--- ak----- e-urk-- e-urr-- nwcj--- f-cx--- nc----- e-urc-- f-cd--- s-cl--- a-cc--- a-cc-cq i-xa--- i-xb--- q------ s-ck--- n-us-co b------ i-cq--- f-cf--- f-cg--- fg----- n-us-ct pocw--- u-cs--- nccr--- e-ci--- nwcu--- nwco--- a-cy--- e-xr--- e-cs--- f-iv--- eo----- zd----- n-us-de e-dk--- dd----- d------ f-ft--- nwdq--- nwdr--- x------ n-usr-- ae----- an----- a-em--- poea--- xa----- s-ec--- f-ua--- nces--- e-uk-en f-eg--- f-ea--- e-er--- f-et--- me----- e------ ec----- ee----- en----- es----- ew----- lsfk--- lnfa--- pofj--- e-fi--- n-us-fl e-fr--- h------ s-fg--- pofp--- a-cc-fu f-go--- pogg--- f-gm--- a-cc-ka awgz--- n-us-ga a-gs--- e-gx--- e-ge--- e-gw--- f-gh--- e-gi--- e-uk--- e-uk-ui nl----- np----- fr----- e-gr--- n-gl--- nwgd--- nwgp--- pogu--- a-cc-kn a-cc-kc ncgt--- f-gv--- f-pg--- a-cc-kw s-gy--- a-cc-ha nwht--- n-us-hi i-hm--- a-cc-hp a-cc-he a-cc-ho ah----- nwhi--- ncho--- a-cc-hk a-cc-hh n-cnh-- a-cc-hu e-hu--- e-ic--- n-us-id n-us-il a-ii--- i------ n-us-in ai----- a-io--- a-cc-im m------ c------ n-us-ia a-ir--- a-iq--- e-ie--- a-is--- e-it--- nwjm--- lnjn--- a-ja--- a-cc-ku a-cc-ki a-cc-kr poji--- a-jo--- zju---- n-us-ks a-kz--- n-us-ky f-ke--- poki--- pokb--- a-kr--- a-kn--- a-ko--- a-cck-- a-ku--- a-kg--- a-ls--- cl----- e-lv--- a-le--- nwli--- f-lo--- a-cc-lp f-lb--- f-ly--- e-lh--- poln--- e-li--- n-us-la e-lu--- a-cc-mh e-xn--- f-mg--- lnma--- n-us-me f-mw--- am----- a-my--- i-xc--- f-ml--- e-mm--- n-cn-mb poxd--- n-cnm-- zma---- poxe--- nwmq--- n-us-md n-us-ma f-mu--- i-mf--- i-my--- mm----- ag----- pome--- zme---- n-mx--- nm----- n-us-mi pott--- pomi--- n-usl-- aw----- n-usc-- poxf--- n-us-mn n-us-ms n-usm-- n-us-mo n-uss-- e-mv--- e-mc--- a-mp--- n-us-mt nwmj--- zmo---- f-mr--- f-mz--- f-sx--- ponu--- n-us-nb a-np--- zne---- e-ne--- nwna--- n-us-nv n-cn-nk ponl--- n-usn-- a-nw--- n-us-nh n-us-nj n-us-nm u-at-ne n-us-ny u-nz--- n-cn-nf ncnq--- f-ng--- fi----- f-nr--- fl----- a-cc-nn poxh--- n------ ln----- n-us-nc n-us-nd pn----- n-use-- xb----- e-uk-ni u-at-no n-cn-nt e-no--- n-cn-ns n-cn-nu po----- n-us-oh n-uso-- n-us-ok a-mk--- n-cn-on n-us-or zo----- p------ a-pk--- popl--- ncpn--- a-pp--- aopf--- s-py--- n-us-pa ap----- s-pe--- a-ph--- popc--- zpl---- e-pl--- pops--- e-po--- n-cnp-- n-cn-pi nwpr--- ep----- a-qa--- a-cc-ts u-at-qn n-cn-qu mr----- er----- n-us-ri sp----- nr----- e-rm--- e-ru--- e-ur--- e-urf-- f-rw--- i-re--- nwsd--- fd----- nweu--- lsxj--- nwxi--- nwxk--- nwst--- n-xl--- nwxm--- pows--- posh--- e-sm--- f-sf--- n-cn-sn zsa---- a-su--- ev----- e-uk-st f-sg--- i-se--- a-cc-ss a-cc-sp a-cc-sm a-cc-sh e-urs-- e-ure-- e-urw-- a-cc-sz f-sl--- a-si--- e-xo--- e-xv--- i-xo--- zs----- pobp--- f-so--- f-sa--- s------ az----- ls----- u-at-sa n-us-sc ao----- n-us-sd lsxs--- ps----- xc----- n-usu-- n-ust-- e-urn-- e-sp--- f-sh--- aoxp--- a-ce--- f-sj--- fn----- fu----- zsu---- s-sr--- lnsb--- nwsv--- f-sq--- e-sw--- e-sz--- a-sy--- a-ch--- a-ta--- f-tz--- u-at-tm n-us-tn i-fs--- n-us-tx a-th--- af----- a-cc-tn a-cc-ti at----- f-tg--- potl--- poto--- nwtr--- lstd--- w------ f-ti--- a-tu--- a-tk--- nwtc--- potv--- f-ug--- e-un--- a-ts--- n-us--- nwuc--- poup--- e-uru-- zur---- s-uy--- n-us-ut a-uz--- ponn--- e-vc--- s-ve--- zve---- n-us-vt u-at-vi a-vt--- nwvi--- n-us-va e-urp-- fv----- powk--- e-uk-wl powf--- n-us-dc n-us-wa n-usp-- awba--- nw----- n-us-wv u-at-we xd----- f-ss--- nwwi--- n-us-wi n-us-wy a-ccs-- a-cc-su a-ccg-- a-ccy-- ay----- a-ye--- e-yu--- n-cn-yk a-cc-yu fz----- f-za--- a-cc-ch f-rh--- u-atc-- u-ate-- u-atn-- e-rb--- e-mo--- e-kv---"));
454
252
 
455
 
 
456
 
 
457
253
#fill the obsolete Geographic Area Codes hash
458
254
 
459
 
 
460
 
 
461
255
%ObsoleteGeogAreaCodes = map {($_, 1)} (split "\t", ("t-ay---   e-ur-ai e-ur-aj nwbc--- e-ur-bw f-by--- pocp--- e-url-- cr----- v------ e-ur-er et----- e-ur-gs pogn--- nwga--- nwgs--- a-hk--- ei----- f-if--- awiy--- awiw--- awiu--- e-ur-kz e-ur-kg e-ur-lv e-ur-li a-mh--- cm----- e-ur-mv n-usw-- a-ok--- a-pt--- e-ur-ru pory--- nwsb--- posc--- a-sk--- posn--- e-uro-- e-ur-ta e-ur-tk e-ur-un e-ur-uz a-vn--- a-vs--- nwvr--- e-urv-- a-ys---"));
462
256
 
463
 
 
464
 
 
465
257
#fill the valid Language Codes hash
466
258
 
467
 
 
468
 
 
469
259
%LanguageCodes = map {($_, 1)} (split "\t", ("          aar     abk     ace     ach     ada     ady     afa     afh     afr     ain     aka     akk     alb     ale     alg     alt     amh     ang     anp     apa     ara     arc     arg     arm     arn     arp     art     arw     asm     ast     ath     aus     ava     ave     awa     aym     aze     bad     bai     bak     bal     bam     ban     baq     bas     bat     bej     bel     bem     ben     ber     bho     bih     bik     bin     bis     bla     bnt     bos     bra     bre     btk     bua     bug     bul     bur     byn     cad     cai     car     cat     cau     ceb     cel     cha     chb     che     chg     chi     chk     chm     chn     cho     chp     chr     chu     chv     chy     cmc     cop     cor     cos     cpe     cpf     cpp     cre     crh     crp     csb     cus     cze     dak     dan     dar     day     del     den     dgr     din     div     doi     dra     dsb     dua     dum     dut     dyu     dzo     efi     egy     eka     elx     eng     enm     epo     est     ewe     ewo     fan     fao     fat     fij     fil     fin     fiu     fon     fre     frm     fro     frr     frs     fry     ful     fur     gaa     gay     gba     gem     geo     ger     gez     gil     gla     gle     glg     glv     gmh     goh     gon     gor     got     grb     grc     gre     grn     gsw     guj     gwi     hai     hat     hau     haw     heb     her     hil     him     hin     hit     hmn     hmo     hrv     hsb     hun     hup     iba     ibo     ice     ido     iii     ijo     iku     ile     ilo     ina     inc     ind     ine     inh     ipk     ira     iro     ita     jav     jbo     jpn     jpr     jrb     kaa     kab     kac     kal     kam     kan     kar     kas     kau     kaw     kaz     kbd     kha     khi     khm     kho     kik     kin     kir     kmb     kok     kom     kon     kor     kos     kpe     krc     krl     kro     kru     kua     kum     kur     kut     lad     lah     lam     lao     lat     lav     lez     lim     lin     lit     lol     loz     ltz     lua     lub     lug     lui     lun     luo     lus     mac     mad     mag     mah     mai     mak     mal     man     mao     map     mar     mas     may     mdf     mdr     men     mga     mic     min     mis     mkh     mlg     mlt     mnc     mni     mno     moh     mon     mos     mul     mun     mus     mwl     mwr     myn     myv     nah     nai     nap     nau     nav     nbl     nde     ndo     nds     nep     new     nia     nic     niu     nno     nob     nog     non     nor     nqo     nso     nub     nwc     nya     nym     nyn     nyo     nzi     oci     oji     ori     orm     osa     oss     ota     oto     paa     pag     pal     pam     pan     pap     pau     peo     per     phi     phn     pli     pol     pon     por     pra     pro     pus     que     raj     rap     rar     roa     roh     rom     rum     run     rup     rus     sad     sag     sah     sai     sal     sam     san     sas     sat     scn     sco     sel     sem     sga     sgn     shn     sid     sin     sio     sit     sla     slo     slv     sma     sme     smi     smj     smn     smo     sms     sna     snd     snk     sog     som     son     sot     spa     srd     srn     srp     srr     ssa     ssw     suk     sun     sus     sux     swa     swe     syc     syr     tah     tai     tam     tat     tel     tem     ter     tet     tgk     tgl     tha     tib     tig     tir     tiv     tkl     tlh     tli     tmh     tog     ton     tpi     tsi     tsn     tso     tuk     tum     tup     tur     tut     tvl     twi     tyv     udm     uga     uig     ukr     umb     und     urd     uzb     vai     ven     vie     vol     vot     wak     wal     war     was     wel     wen     wln     wol     xal     xho     yao     yap     yid     yor     ypk     zap     zbl     zen     zha     znd     zul     zun     zxx     zza"));
470
260
 
471
 
 
472
 
 
473
261
#fill the obsolete Language Codes hash
474
262
 
475
 
 
476
 
 
477
263
%ObsoleteLanguageCodes = map {($_, 1)} (split "\t", ("ajm       esk     esp     eth     far     fri     gag     gua     int     iri     cam     kus     mla     max     mol     lan     gal     lap     sao     gae     scc     scr     sho     snh     sso     swz     tag     taj     tar     tru     tsw"));
478
264
 
479
 
 
480
 
 
481
265
#fill the valid Country Codes hash
482
266
 
483
 
 
484
 
 
485
267
%CountryCodes = map {($_, 1)} (split "\t", ("aca        af      alu     aku     aa      abc     ae      as      an      ao      am      ay      aq      ag      azu     aru     ai      aw      at      au      aj      bf      ba      bg      bb      bw      be      bh      dm      bm      bt      bo      bn      bs      bv      bl      bcc     bi      vb      bx      bu      uv      br      bd      cau     cb      cm      xxc     cv      cj      cx      cd      cl      cc      ch      xa      xb      ck      cou     cq      cf      cg      ctu     cw      cr      ci      cu      cy      xr      iv      deu     dk      dcu     ft      dq      dr      em      ec      ua      es      enk     eg      ea      er      et      fk      fa      fj      fi      flu     fr      fg      fp      go      gm      gz      gau     gs      gw      gh      gi      gr      gl      gd      gp      gu      gt      gv      pg      gy      ht      hiu     hm      ho      hu      ic      idu     ilu     ii      inu     io      iau     ir      iq      iy      ie      is      it      jm      ja      ji      jo      ksu     kv      kz      kyu     ke      gb      kn      ko      ku      kg      ls      lv      le      lo      lb      ly      lh      li      lau     lu      xn      mg      meu     mw      my      xc      ml      mm      mbc     xe      mq      mdu     mau     mu      mf      ot      mx      miu     fm      xf      mnu     msu     mou     mv      mc      mp      mtu     mj      mr      mz      sx      nu      nbu     np      ne      na      nvu     nkc     nl      nhu     nju     nmu     nyu     nz      nfc     nq      ng      nr      xh      xx      nx      ncu     ndu     nik     nw      ntc     no      nsc     nuc     ohu     oku     mk      onc     oru     pk      pw      pn      pp      pf      py      pau     pe      ph      pc      pl      po      pic     pr      qa      qea     quc     riu     rm      ru      rw      re      xj      xd      xk      xl      xm      ws      sm      sf      snc     su      stk     sg      rb      mo      se      sl      si      xo      xv      bp      so      sa      scu     sdu     xs      sp      sh      xp      ce      sj      sr      sq      sw      sz      sy      ta      tz      tnu     fs      txu     th      tg      tl      tma     to      tr      ti      tu      tk      tc      tv      ug      un      ts      xxk     uik     xxu     uc      up      uy      utu     uz      nn      vp      vc      ve      vtu     vm      vi      vau     vra     wea     wk      wlk     wf      wau     wj      wvu     ss      wiu     wyu     xga     xna     xoa     xra     ye      ykc     za      rh "));
486
268
 
487
 
 
488
 
 
489
269
#fill the obsolete Country Codes hash
490
270
 
491
 
 
492
 
 
493
271
%ObsoleteCountryCodes = map {($_, 1)} (split "\t", ("ai         air     ac      ajr     bwr     cn      cz      cp      ln      cs      err     gsr     ge      gn      hk      iw      iu      jn      kzr     kgr     lvr     lir     mh      mvr     nm      pt      rur     ry      xi      sk      xxr     sb      sv      tar     tt      tkr     unr     uk      ui      us      uzr     vn      vs      wb      ys      yu "));
494
272
 
495
 
 
496
 
 
497
 
%Sources600_651 = map {($_, 1)} (split "\t", ("aass     aat     abne    afset   agrifors        agrovoc agrovocf        agrovocs        aiatsisl        aiatsisp        aiatsiss        aktp    albt    allars  amg     apaist  asft    asrcrfcd        asrcseo asrctoa asth    atla    aucsh   barn    bella   bet     bgtchm  bhammf  bhashe  bibalex biccbmc bicssc  bidex   bisacsh bisacmt bisacrt blmlsh  bt      cabt    cash    cct     ccte    cctf    ceeus   chirosh cht     ciesiniv        cilla   conorsi csahssa csalsct csapa   csh     csht    cstud   czenas  dacs    dcs     ddcrit  dissao  dit     drama   dtict   ebfem   eclas   eet     eflch   eks     embne   ept     ericd   est     eurovocen       eurovocsl       fast    fgtpcm  finmesh fire    fmesh   fnhl    francis galestne        gem     georeft gst     gtt     hapi    hkcan   helecon henn    hlasstg hoidokki        huc     iaat    ica     icpsr   idas    iescs   iest    ilot    ilpt    inist   inspect ipat    ipsp    isis    itglit  itoamc  itrt    jhpb    jhpk    jlabsh  kaa     kao     kaunokki        kdm     kitu    kkts    kssbar  kta     ktpt    ktta    kula    kupu    lacnaf  larpcal lcsh    lcshac  lcstt   lctgm   lemac   lemb    liv     lnmmbr  local   ltcsh   lua     maaq    mar     masa    mech    mesh    mipfesd mmm     mpirdes msh     mtirdes musa    muzeukc muzeukn muzeukv muzvukci        nal     nalnaf  nasat   ncjt    ndllsh  nicem   nimacsc nlgaf   nlgkk   nlgsh   nlmnaf  nsbncf  ntcpsc  ntcsd   ntissc  nzggn   nznb    ogst    onet    opms    pascal  peri    pha     pkk     pmbok   pmcsg   pmt     poliscit        popinte precis  prvt    psychit quiding qlsp    qrma    qrmak   qtglit  raam    ram     rasuqam renib   reo     rero    rerovoc reveal  rma     rpe     rswk    rswkaf  rugeo   rurkp   rvm     sao     sbiao   scbi    scgdst  scisshl scot    sears   sfit    sgc     sgce    shbe    she     sigle   sipri   sk      skon    slem    smda    snt     socio   sosa    spines  ssg     swd     swemesh taika   taxhs   tbit    tesa    test    tgn     tho     thub    tlka    tlsh    toit    trt     trtsa   tsht    ttka    tucua   ulan    umitrist        unbisn  unbist  unescot usaidt  vmj     waqaf   watrest wgst    wot     wpicsh  ysa"));
498
 
 
499
 
 
500
 
 
501
 
#The codes cash, lcsh, lcshac, mesh, nal, and rvm are covered by 2nd indicators in 600-655
502
 
 
503
 
#they are only used when indicators are not available
504
 
 
505
 
%ObsoleteSources600_651 = map {($_, 1)} (split "\t", ("cash     lcsh    lcshac  mesh    nal     reroa   rvm"));
506
 
 
507
 
 
508
 
 
509
 
%Sources655 = map {($_, 1)} (split "\t", ("aat  afset   aiatsisl        aiatsisp        aiatsiss        aktp    amg     asrcrfcd        asrcseo asrctoa asth    aucsh   barn    bibalex biccbmc bgtchm  bisacsh bisacmt bisacrt bt      cash    chirosh cct     conorsi csht    czenas  dacs    dcs     dct     eet     eflch   embne   ept     ericd   estc    eurovocen       eurovocsl       fast    fbg     finmesh fire    galestne        gem     gmgpc   gsafd   gst     gtlm    hapi    hkcan   hoidokki        ica     ilot    itglit  itrt    jhpb    jhpk    kkts    lacnaf  lcsh    lcshac  lcstt   lctgm   lemac   local   maaq    mar     marcgt  mech    mesh    migfg   mim     msh     muzeukc muzeukn muzeukv muzvukci        nal     nalnaf  ngl     nimafc  nlgaf   nlgkk   nlgsh   nlmnaf  nmc     nsbncf  nzggn   nznb    onet    opms    pkk     pmcsg   pmt     quiding qlsp    qrmak   qtglit  raam    radfg   rbbin   rbgenr  rbpap   rbpri   rbprov  rbpub   rbtyp   reo     rerovoc reveal  rma     rswk    rswkaf  rugeo   rvm     sao     scbi    sears   sgc     sgce    sgp     sipri   skon    snt     socio   spines  ssg     swd     swemesh tbit    tesa    tho     thub    toit    tsht    tucua   ulan    vmj     waqaf"));
510
 
 
511
 
 
512
 
 
513
 
#The codes cash, lcsh, lcshac, mesh, nal, and rvm are covered by 2nd indicators in 600-655
514
 
 
515
 
#they are only used when indicators are not available
516
 
 
517
 
%ObsoleteSources655 = map {($_, 1)} (split "\t", ("cash ftamc   lcsh    lcshac  mesh    nal     reroa   rvm"));
518
 
 
519
 
 
 
273
%Sources600_651 = map {($_, 1)} (split "\t", ("aass     aat     abne    afset   agrifors        agrovoc agrovocf        agrovocs        aiatsisl        aiatsisp        aiatsiss        aktp    albt    allars  amg     apaist  asft    asrcrfcd        asrcseo asrctoa asth    atla    aucsh   barn    bella   bet     bgtchm  bhammf  bhashe  bibalex biccbmc bicssc  bidex   bisacsh bisacmt bisacrt bjornson        blmlsh  bt      cabt    cash    ccsa    cct     ccte    cctf    cdcng   ceeus   chirosh cht     ciesiniv        cilla   conorsi csahssa csalsct csapa   csh     csht    cstud   czenas  dacs    dcs     ddcrit  dissao  dit     drama   dtict   ebfem   eclas   eet     eflch   eks     embne   ept     ericd   est     eum     eurovocen       eurovocsl       fast    fgtpcm  finmesh fire    fmesh   fnhl    francis galestne        gem     georeft gst     gtt     hamsun  hapi    hkcan   helecon henn    hlasstg hoidokki        hrvmesh huc     humord  iaat    ica     icpsr   idas    idsbb   idszbz  idszbzes        idszbzna        idszbzzg        idszbzzh        idszbzzk        iescs   iest    ilot    ilpt    inist   inspect ipat    ipsp    isis    itglit  itoamc  itrt    jhpb    jhpk    jlabsh  jurivoc kaa     kao     kaunokki        kdm     kitu    kkts    kssbar  kta     ktpt    ktta    kula    kupu    lacnaf  larpcal lcsh    lcshac  lcstt   lctgm   lemac   lemb    liv     lnmmbr  local   ltcsh   lua     maaq    mar     masa    mech    mesh    mipfesd mmm     mpirdes msh     mtirdes musa    muzeukc muzeukn muzeukv muzvukci        nal     nalnaf  nasat   ncjt    netc    ndllsh  nicem   nimacsc nlgaf   nlgkk   nlgsh   nlmnaf  norbok  noubomn noubojur        nsbncf  nskps   ntcpsc  ntcsd   ntissc  nzggn   nznb    ogst    onet    opms    pascal  peri    pha     pkk     pmbok   pmcsg   pmont   pmt     poliscit        popinte precis  prvt    psychit quiding qlsp    qrma    qrmak   qtglit  raam    ram     rasuqam renib   reo     rero    rerovoc reveal  rma     rpe     rswk    rswkaf  rugeo   rurkp   rvm     samisk  sao     sbiao   sbt     scbi    scgdst  scisshl scot    sears   sfit    sgc     sgce    shbe    she     shsples sigle   sipri   sk      skon    slem    smda    snt     socio   solstad sosa    spines  ssg     stw     swd     swemesh taika   taxhs   tbit    tekord  tesa    test    tgn     tho     thub    tlka    tlsh    toit    trt     trtsa   tsht    ttka    tucua   ulan    umitrist        unbisn  unbist  unescot usaidt  vmj     waqaf   watrest wgst    wot     wpicsh  ysa"));
 
274
 
 
275
#The codes cash, lcsh, lcshac, mesh, nal, and rvm are covered by 2nd indicators in 600-655
 
276
#they are only used when indicators are not available
 
277
%ObsoleteSources600_651 = map {($_, 1)} (split "\t", ("cash     lcsh    lcshac  mesh    nal     nobomn  noubojor        reroa   rvm"));
 
278
 
 
279
%Sources655 = map {($_, 1)} (split "\t", ("aat  afset   aiatsisl        aiatsisp        aiatsiss        aktp    amg     asrcrfcd        asrcseo asrctoa asth    aucsh   barn    barngf  bibalex biccbmc bgtchm  bisacsh bisacmt bisacrt bjornson        bt      cash    chirosh cct     cdcng   conorsi csht    czenas  dacs    dcs     dct     eet     eflch   embne   ept     ericd   estc    eurovocen       eurovocsl       fast    fbg     finmesh fire    galestne        gatbeg  gem     gmgpc   gsafd   gst     gtlm    hamsun  hapi    hkcan   hoidokki        ica     ilot    itglit  itrt    jhpb    jhpk    kkts    lacnaf  lcgft   lcsh    lcshac  lcstt   lctgm   lemac   local   maaq    mar     marcgt  mech    mesh    migfg   mim     msh     muzeukc muzeukn muzeukv muzvukci        nal     nalnaf  ndlsh   netc    ngl     nimafc  nlgaf   nlgkk   nlgsh   nlmnaf  nmc     nsbncf  nzggn   nznb    onet    opms    pkk     pmcsg   pmt     quiding qlsp    qrmak   qtglit  raam    radfg   rasuqam rbbin   rbgenr  rbpap   rbpri   rbprov  rbpub   rbtyp   rdacarrier      rdacontent      rdamedia        reo     rerovoc reveal  rma     rswk    rswkaf  rugeo   rvm     sao     saogf   scbi    sears   sgc     sgce    sgp     sipri   skon    snt     socio   spines  ssg     stw     swd     swemesh tbit    tesa    tho     thub    toit    tsht    tucua   ulan    vmj     waqaf"));
 
280
 
 
281
#The codes cash, lcsh, lcshac, mesh, nal, and rvm are covered by 2nd indicators in 600-655
 
282
#they are only used when indicators are not available
 
283
%ObsoleteSources655 = map {($_, 1)} (split "\t", ("cash ftamc   lcsh    lcshac  marccarrier     marccontent     marcmedia       mesh    nal     reroa   rvm"));
520
284
 
521
285
1;
522
286
 
523
 
 
524
 
 
525
287
=head1 LICENSE
526
288
 
527
 
 
528
 
 
529
289
This code may be distributed under the same terms as Perl itself. 
530
290
 
531
 
 
532
 
 
533
291
Please note that this module is not a product of or supported by the 
534
 
 
535
292
employers of the various contributors to the code.
536
293
 
537
 
 
538
 
 
539
294
=head1 AUTHOR
540
295
 
541
 
 
542
 
 
543
296
Bryan Baldus
544
 
 
545
297
eijabb@cpan.org
546
298
 
547
 
 
548
 
 
549
 
Copyright (c) 2004-2008.
550
 
 
551
 
 
 
299
Copyright (c) 2004-2011.
552
300
 
553
301
=cut
554
302
 
555
 
 
556
 
 
557
 
__END__
 
 
b'\\ No newline at end of file'
 
303
__END__