line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
2
|
|
|
2
|
|
4059
|
use 5.008; |
|
2
|
|
|
|
|
7
|
|
2
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
package Business::ISBN::Data; |
4
|
2
|
|
|
2
|
|
11
|
use strict; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
47
|
|
5
|
|
|
|
|
|
|
|
6
|
2
|
|
|
2
|
|
10
|
use Carp qw(carp); |
|
2
|
|
|
|
|
2
|
|
|
2
|
|
|
|
|
115
|
|
7
|
2
|
|
|
2
|
|
22
|
use File::Basename qw(dirname); |
|
2
|
|
|
|
|
5
|
|
|
2
|
|
|
|
|
163
|
|
8
|
2
|
|
|
2
|
|
484
|
use File::Spec::Functions qw(catfile); |
|
2
|
|
|
|
|
897
|
|
|
2
|
|
|
|
|
8139
|
|
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
our $VERSION = '20231013.001'; |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
=encoding utf8 |
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
=head1 NAME |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
Business::ISBN::Data - data pack for Business::ISBN |
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
=head1 SYNOPSIS |
19
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
see L |
21
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
=head1 DESCRIPTION |
23
|
|
|
|
|
|
|
|
24
|
|
|
|
|
|
|
You don't need to load this module yourself in most cases. L |
25
|
|
|
|
|
|
|
will load it when it loads. You must use L 3.005 or later |
26
|
|
|
|
|
|
|
because the data structure changed slightly to fix a bug with ISBN13 |
27
|
|
|
|
|
|
|
prefixes. |
28
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
These data are generated from the F file provided by |
30
|
|
|
|
|
|
|
the ISBN Agency. The distributed version matches the date in the version |
31
|
|
|
|
|
|
|
for this module. You can retrieve this yourself at L. |
32
|
|
|
|
|
|
|
This file is included as part of the distribution and should be installed |
33
|
|
|
|
|
|
|
at F<~lib/Business/ISBN/Data/RangeMessage.xml>. |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
If you want to use a different F file, you can set |
36
|
|
|
|
|
|
|
the C environment variable to the alternate location |
37
|
|
|
|
|
|
|
before you load C. This way, you can use the latest (or |
38
|
|
|
|
|
|
|
even earlier) data without having to install something new or wait for |
39
|
|
|
|
|
|
|
an update to this module. |
40
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
If the default F or your alternate one is not available, |
42
|
|
|
|
|
|
|
the module falls back to data included in F. However, that data |
43
|
|
|
|
|
|
|
are likely to be older. If it does not find that file, it looks |
44
|
|
|
|
|
|
|
for F in the current directory. |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
The data are in C<%Business::ISBN::country_data> (although the "country" |
47
|
|
|
|
|
|
|
part is historical). If you want to see where the data are from, check |
48
|
|
|
|
|
|
|
C<$Business::ISBN::country_data{_source}>. |
49
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
=head2 Packaging this module |
51
|
|
|
|
|
|
|
|
52
|
|
|
|
|
|
|
The included F is in under F at the same level |
53
|
|
|
|
|
|
|
as F. The same data exist as the default data in the code, so |
54
|
|
|
|
|
|
|
you don't need to pass along the distributed F. |
55
|
|
|
|
|
|
|
However, you can include a newer F. |
56
|
|
|
|
|
|
|
|
57
|
|
|
|
|
|
|
With PAR, you can add extra files to the archive with C<-a>. Put the |
58
|
|
|
|
|
|
|
new file somewhere the module will find it (or use C |
59
|
|
|
|
|
|
|
to lead it there): |
60
|
|
|
|
|
|
|
|
61
|
|
|
|
|
|
|
pp ... -a '..../RangeMessage.xml;RangeMessage.xml' |
62
|
|
|
|
|
|
|
|
63
|
|
|
|
|
|
|
If you put the F in the current working directory of |
64
|
|
|
|
|
|
|
the application, the module should find it. |
65
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
=head2 Updating the default data |
67
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
In the repo, find the F program. Run |
69
|
|
|
|
|
|
|
that against the latest F: |
70
|
|
|
|
|
|
|
|
71
|
|
|
|
|
|
|
% perl -Ilib examples/make_default_data.pl RangeMessage.xml |
72
|
|
|
|
|
|
|
|
73
|
|
|
|
|
|
|
That produces the code you need to replace in the module. Check that |
74
|
|
|
|
|
|
|
that data aren't weird: sometimes the group names have errors or |
75
|
|
|
|
|
|
|
oddities. The program handles escaping single quotes and trimming |
76
|
|
|
|
|
|
|
white space. |
77
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
=head1 SOURCE AVAILABILITY |
79
|
|
|
|
|
|
|
|
80
|
|
|
|
|
|
|
This module lives in a Github repository: |
81
|
|
|
|
|
|
|
|
82
|
|
|
|
|
|
|
https://github.com/briandfoy/business-isbn-data |
83
|
|
|
|
|
|
|
|
84
|
|
|
|
|
|
|
You are probably also interested in the module that uses it: |
85
|
|
|
|
|
|
|
|
86
|
|
|
|
|
|
|
https://github.com/briandfoy/business-isbn |
87
|
|
|
|
|
|
|
|
88
|
|
|
|
|
|
|
If you have something to add, create a fork on Github and send a |
89
|
|
|
|
|
|
|
pull request. |
90
|
|
|
|
|
|
|
|
91
|
|
|
|
|
|
|
=head1 AUTHOR |
92
|
|
|
|
|
|
|
|
93
|
|
|
|
|
|
|
brian d foy, C<< >> |
94
|
|
|
|
|
|
|
|
95
|
|
|
|
|
|
|
Yakov Shafranovich updated the data in October 2008. |
96
|
|
|
|
|
|
|
|
97
|
|
|
|
|
|
|
Daniel Jakubik updated the data in July 2012. |
98
|
|
|
|
|
|
|
|
99
|
|
|
|
|
|
|
Markus Spann suggested looking for F in the current |
100
|
|
|
|
|
|
|
directory to make it work with Perl app bundlers. |
101
|
|
|
|
|
|
|
|
102
|
|
|
|
|
|
|
Josef Moravec C<< >> updated the data in January 2019. |
103
|
|
|
|
|
|
|
|
104
|
|
|
|
|
|
|
Peter Williams fixed a serious issue with ISBN-13 (GitHub #5). You must |
105
|
|
|
|
|
|
|
use Business::ISBN 3.005 or later because the data structure changed. |
106
|
|
|
|
|
|
|
|
107
|
|
|
|
|
|
|
=head1 COPYRIGHT AND LICENSE |
108
|
|
|
|
|
|
|
|
109
|
|
|
|
|
|
|
Copyright © 2002-2023, brian d foy . All rights reserved. |
110
|
|
|
|
|
|
|
|
111
|
|
|
|
|
|
|
You may redistribute this under the terms of the Artistic License 2.0. |
112
|
|
|
|
|
|
|
|
113
|
|
|
|
|
|
|
=cut |
114
|
|
|
|
|
|
|
|
115
|
|
|
|
|
|
|
sub _default_data { |
116
|
|
|
|
|
|
|
# BEGIN REPLACE |
117
|
|
|
|
|
|
|
( |
118
|
2
|
|
|
2
|
|
4154
|
_data_date => 'Fri, 13 Oct 2023 04:41:02 BST', |
119
|
|
|
|
|
|
|
_serial => '05a5062c-63ec-4328-a835-c4fb7a75dedc', |
120
|
|
|
|
|
|
|
_source => __FILE__, |
121
|
|
|
|
|
|
|
978 => { |
122
|
|
|
|
|
|
|
0 => [ 'English language' => [ '00', '19', '200', '227', '2280', '2289', '229', '368', '3690', '3699', '370', '638', '6390', '6397', '6398000', '6399999', '640', '644', '6450000', '6459999', '646', '647', '6480000', '6489999', '649', '654', '6550', '6559', '656', '699', '7000', '8499', '85000', '89999', '900000', '900370', '9003710', '9003719', '900372', '949999', '9500000', '9999999' ] ], |
123
|
|
|
|
|
|
|
1 => [ 'English language' => [ '000', '009', '01', '02', '030', '034', '0350', '0399', '040', '049', '05', '06', '0700', '0999', '100', '397', '3980', '5499', '55000', '64999', '6500', '6799', '68000', '68599', '6860', '7139', '714', '716', '7170', '7319', '7320000', '7399999', '74000', '77499', '7750000', '7753999', '77540', '77639', '7764000', '7764999', '77650', '77699', '7770000', '7782999', '77830', '78999', '7900', '7999', '80000', '80049', '80050', '80499', '80500', '83799', '8380000', '8384999', '83850', '86719', '8672', '8675', '86760', '86979', '869800', '915999', '9160000', '9165059', '916506', '916869', '9168700', '9169079', '916908', '919599', '9196000', '9196549', '919655', '972999', '9730', '9877', '987800', '991149', '9911500', '9911999', '991200', '998989', '9989900', '9999999' ] ], |
124
|
|
|
|
|
|
|
2 => [ 'French language' => [ '00', '19', '200', '349', '35000', '39999', '400', '486', '487000', '494999', '495', '495', '4960', '4966', '49670', '49699', '497', '527', '5280', '5299', '530', '699', '7000', '8399', '84000', '89999', '900000', '919799', '91980', '91980', '919810', '919942', '9199430', '9199689', '919969', '949999', '9500000', '9999999' ] ], |
125
|
|
|
|
|
|
|
3 => [ 'German language' => [ '00', '02', '030', '033', '0340', '0369', '03700', '03999', '04', '19', '200', '688', '68900', '69499', '6950', '8499', '85000', '89999', '900000', '949999', '9500000', '9539999', '95400', '96999', '9700000', '9849999', '98500', '99999' ] ], |
126
|
|
|
|
|
|
|
4 => [ 'Japan' => [ '00', '19', '200', '699', '7000', '8499', '85000', '89999', '900000', '949999', '9500000', '9999999' ] ], |
127
|
|
|
|
|
|
|
5 => [ 'former U.S.S.R' => [ '00000', '00499', '0050', '0099', '01', '19', '200', '361', '3620', '3623', '36240', '36299', '363', '420', '4210', '4299', '430', '430', '4310', '4399', '440', '440', '4410', '4499', '450', '603', '6040000', '6049999', '605', '699', '7000', '8499', '85000', '89999', '900000', '909999', '91000', '91999', '9200', '9299', '93000', '94999', '9500000', '9500999', '9501', '9799', '98000', '98999', '9900000', '9909999', '9910', '9999' ] ], |
128
|
|
|
|
|
|
|
7 => [ 'China, People\'s Republic' => [ '00', '09', '100', '499', '5000', '7999', '80000', '89999', '900000', '999999' ] ], |
129
|
|
|
|
|
|
|
65 => [ 'Brazil' => [ '00', '01', '250', '299', '300', '302', '5000', '5129', '5350', '6149', '80000', '81824', '84500', '89999', '900000', '902449', '980000', '999999' ] ], |
130
|
|
|
|
|
|
|
80 => [ 'former Czechoslovakia' => [ '00', '19', '200', '529', '53000', '54999', '550', '689', '69000', '69999', '7000', '8499', '85000', '89999', '900000', '998999', '99900', '99999' ] ], |
131
|
|
|
|
|
|
|
81 => [ 'India' => [ '00', '18', '19000', '19999', '200', '699', '7000', '8499', '85000', '89999', '900000', '999999' ] ], |
132
|
|
|
|
|
|
|
82 => [ 'Norway' => [ '00', '19', '200', '689', '690000', '699999', '7000', '8999', '90000', '98999', '990000', '999999' ] ], |
133
|
|
|
|
|
|
|
83 => [ 'Poland' => [ '00', '19', '200', '599', '60000', '69999', '7000', '8499', '85000', '89999', '900000', '999999' ] ], |
134
|
|
|
|
|
|
|
84 => [ 'Spain' => [ '00', '09', '10000', '10499', '1050', '1199', '120000', '129999', '1300', '1399', '140', '149', '15000', '19999', '200', '699', '7000', '8499', '85000', '89999', '9000', '9199', '920000', '923999', '92400', '92999', '930000', '949999', '95000', '96999', '9700', '9999' ] ], |
135
|
|
|
|
|
|
|
85 => [ 'Brazil' => [ '00', '19', '200', '454', '455000', '455299', '45530', '45599', '456', '528', '52900', '53199', '5320', '5339', '534', '539', '54000', '54029', '54030', '54039', '540400', '540499', '54050', '54089', '540900', '540999', '54100', '54399', '5440', '5479', '54800', '54999', '5500', '5999', '60000', '69999', '7000', '8499', '85000', '89999', '900000', '924999', '92500', '94499', '9450', '9599', '96', '97', '98000', '99999' ] ], |
136
|
|
|
|
|
|
|
86 => [ 'former Yugoslavia' => [ '00', '29', '300', '599', '6000', '7999', '80000', '89999', '900000', '999999' ] ], |
137
|
|
|
|
|
|
|
87 => [ 'Denmark' => [ '00', '29', '400', '649', '7000', '7999', '85000', '94999', '970000', '999999' ] ], |
138
|
|
|
|
|
|
|
88 => [ 'Italy' => [ '00', '19', '200', '311', '31200', '31499', '315', '318', '31900', '32299', '323', '326', '3270', '3389', '339', '360', '3610', '3629', '363', '548', '5490', '5549', '555', '599', '6000', '8499', '85000', '89999', '900000', '909999', '910', '926', '9270', '9399', '940000', '947999', '94800', '99999' ] ], |
139
|
|
|
|
|
|
|
89 => [ 'Korea, Republic' => [ '00', '24', '250', '549', '5500', '8499', '85000', '94999', '950000', '969999', '97000', '98999', '990', '999' ] ], |
140
|
|
|
|
|
|
|
90 => [ 'Netherlands' => [ '00', '19', '200', '499', '5000', '6999', '70000', '79999', '800000', '849999', '8500', '8999', '90', '90', '94', '94' ] ], |
141
|
|
|
|
|
|
|
91 => [ 'Sweden' => [ '0', '1', '20', '49', '500', '649', '7000', '8199', '85000', '94999', '970000', '999999' ] ], |
142
|
|
|
|
|
|
|
92 => [ 'International NGO Publishers and EU Organizations' => [ '0', '5', '60', '79', '800', '899', '9000', '9499', '95000', '98999', '990000', '999999' ] ], |
143
|
|
|
|
|
|
|
93 => [ 'India' => [ '00', '09', '100', '499', '5000', '7999', '80000', '95999', '960000', '999999' ] ], |
144
|
|
|
|
|
|
|
94 => [ 'Netherlands' => [ '000', '599', '6000', '8999', '90000', '99999' ] ], |
145
|
|
|
|
|
|
|
600 => [ 'Iran' => [ '00', '09', '100', '499', '5000', '8999', '90000', '98679', '9868', '9929', '993', '995', '99600', '99999' ] ], |
146
|
|
|
|
|
|
|
601 => [ 'Kazakhstan' => [ '00', '19', '200', '699', '7000', '7999', '80000', '84999', '85', '99' ] ], |
147
|
|
|
|
|
|
|
602 => [ 'Indonesia' => [ '00', '06', '0700', '1399', '14000', '14999', '1500', '1699', '17000', '19999', '200', '499', '50000', '53999', '5400', '5999', '60000', '61999', '6200', '6999', '70000', '74999', '7500', '9499', '95000', '99999' ] ], |
148
|
|
|
|
|
|
|
603 => [ 'Saudi Arabia' => [ '00', '04', '05', '49', '500', '799', '8000', '8999', '90000', '99999' ] ], |
149
|
|
|
|
|
|
|
604 => [ 'Vietnam' => [ '0', '2', '300', '399', '40', '46', '470', '497', '4980', '4999', '50', '89', '900', '979', '9800', '9999' ] ], |
150
|
|
|
|
|
|
|
605 => [ 'Turkey' => [ '00', '02', '030', '039', '04', '05', '06000', '06999', '07', '09', '100', '199', '2000', '2399', '240', '399', '4000', '5999', '60000', '74999', '7500', '7999', '80000', '89999', '9000', '9999' ] ], |
151
|
|
|
|
|
|
|
606 => [ 'Romania' => [ '000', '099', '10', '49', '500', '799', '8000', '9099', '910', '919', '92000', '95999', '9600', '9749', '975', '999' ] ], |
152
|
|
|
|
|
|
|
607 => [ 'Mexico' => [ '00', '39', '400', '588', '5890', '5929', '59300', '59999', '600', '749', '7500', '9499', '95000', '99999' ] ], |
153
|
|
|
|
|
|
|
608 => [ 'North Macedonia' => [ '0', '0', '10', '19', '200', '449', '4500', '6499', '65000', '69999', '7', '9' ] ], |
154
|
|
|
|
|
|
|
609 => [ 'Lithuania' => [ '00', '39', '400', '799', '8000', '9499', '95000', '99999' ] ], |
155
|
|
|
|
|
|
|
611 => [ 'Thailand' => [ ] ], |
156
|
|
|
|
|
|
|
612 => [ 'Peru' => [ '00', '29', '300', '399', '4000', '4499', '45000', '49999', '5000', '5149' ] ], |
157
|
|
|
|
|
|
|
613 => [ 'Mauritius' => [ '0', '9' ] ], |
158
|
|
|
|
|
|
|
614 => [ 'Lebanon' => [ '00', '39', '400', '799', '8000', '9499', '95000', '99999' ] ], |
159
|
|
|
|
|
|
|
615 => [ 'Hungary' => [ '00', '09', '100', '499', '5000', '7999', '80000', '89999' ] ], |
160
|
|
|
|
|
|
|
616 => [ 'Thailand' => [ '00', '19', '200', '699', '7000', '8999', '90000', '99999' ] ], |
161
|
|
|
|
|
|
|
617 => [ 'Ukraine' => [ '00', '49', '500', '699', '7000', '8999', '90000', '99999' ] ], |
162
|
|
|
|
|
|
|
618 => [ 'Greece' => [ '00', '19', '200', '499', '5000', '7999', '80000', '99999' ] ], |
163
|
|
|
|
|
|
|
619 => [ 'Bulgaria' => [ '00', '14', '150', '699', '7000', '8999', '90000', '99999' ] ], |
164
|
|
|
|
|
|
|
620 => [ 'Mauritius' => [ '0', '9' ] ], |
165
|
|
|
|
|
|
|
621 => [ 'Philippines' => [ '00', '29', '400', '599', '8000', '8999', '95000', '99999' ] ], |
166
|
|
|
|
|
|
|
622 => [ 'Iran' => [ '00', '10', '200', '424', '5200', '8499', '90000', '99999' ] ], |
167
|
|
|
|
|
|
|
623 => [ 'Indonesia' => [ '00', '09', '110', '499', '5250', '8799', '88000', '99999' ] ], |
168
|
|
|
|
|
|
|
624 => [ 'Sri Lanka' => [ '00', '04', '200', '249', '5000', '6699', '93000', '99999' ] ], |
169
|
|
|
|
|
|
|
625 => [ 'Turkey' => [ '00', '01', '365', '442', '44300', '44499', '445', '449', '6000', '7793', '77940', '77949', '7795', '8499', '94000', '99999' ] ], |
170
|
|
|
|
|
|
|
626 => [ 'Taiwan' => [ '00', '04', '300', '499', '7000', '7999', '95000', '99999' ] ], |
171
|
|
|
|
|
|
|
627 => [ 'Pakistan' => [ '30', '31', '500', '524', '7500', '7999' ] ], |
172
|
|
|
|
|
|
|
628 => [ 'Colombia' => [ '00', '09', '500', '549', '7500', '8499', '95000', '99999' ] ], |
173
|
|
|
|
|
|
|
629 => [ 'Malaysia' => [ '00', '02', '470', '499', '7500', '7999', '96500', '99999' ] ], |
174
|
|
|
|
|
|
|
630 => [ 'Romania' => [ '300', '349', '6500', '6849' ] ], |
175
|
|
|
|
|
|
|
631 => [ 'Argentina' => [ '00', '09', '300', '399', '6500', '7499', '90000', '99999' ] ], |
176
|
|
|
|
|
|
|
950 => [ 'Argentina' => [ '00', '49', '500', '899', '9000', '9899', '99000', '99999' ] ], |
177
|
|
|
|
|
|
|
951 => [ 'Finland' => [ '0', '1', '20', '54', '550', '889', '8900', '9499', '95000', '99999' ] ], |
178
|
|
|
|
|
|
|
952 => [ 'Finland' => [ '00', '19', '200', '499', '5000', '5999', '60', '64', '65000', '65999', '6600', '6699', '67000', '69999', '7000', '7999', '80', '94', '9500', '9899', '99000', '99999' ] ], |
179
|
|
|
|
|
|
|
953 => [ 'Croatia' => [ '0', '0', '10', '14', '150', '479', '48000', '49999', '500', '500', '50100', '50999', '51', '54', '55000', '59999', '6000', '9499', '95000', '99999' ] ], |
180
|
|
|
|
|
|
|
954 => [ 'Bulgaria' => [ '00', '28', '2900', '2999', '300', '799', '8000', '8999', '90000', '92999', '9300', '9999' ] ], |
181
|
|
|
|
|
|
|
955 => [ 'Sri Lanka' => [ '0000', '1999', '20', '33', '3400', '3549', '35500', '35999', '3600', '3799', '38000', '38999', '3900', '4099', '41000', '44999', '4500', '4999', '50000', '54999', '550', '710', '71100', '71499', '7150', '9499', '95000', '99999' ] ], |
182
|
|
|
|
|
|
|
956 => [ 'Chile' => [ '00', '08', '09000', '09999', '10', '19', '200', '599', '6000', '6999', '7000', '9999' ] ], |
183
|
|
|
|
|
|
|
957 => [ 'Taiwan' => [ '00', '02', '0300', '0499', '05', '19', '2000', '2099', '21', '27', '28000', '30999', '31', '43', '440', '819', '8200', '9699', '97000', '99999' ] ], |
184
|
|
|
|
|
|
|
958 => [ 'Colombia' => [ '00', '49', '500', '509', '5100', '5199', '52000', '53999', '5400', '5599', '56000', '59999', '600', '799', '8000', '9499', '95000', '99999' ] ], |
185
|
|
|
|
|
|
|
959 => [ 'Cuba' => [ '00', '19', '200', '699', '7000', '8499', '85000', '99999' ] ], |
186
|
|
|
|
|
|
|
960 => [ 'Greece' => [ '00', '19', '200', '659', '6600', '6899', '690', '699', '7000', '8499', '85000', '92999', '93', '93', '9400', '9799', '98000', '99999' ] ], |
187
|
|
|
|
|
|
|
961 => [ 'Slovenia' => [ '00', '19', '200', '599', '6000', '8999', '90000', '97999' ] ], |
188
|
|
|
|
|
|
|
962 => [ 'Hong Kong, China' => [ '00', '19', '200', '699', '7000', '8499', '85000', '86999', '8700', '8999', '900', '999' ] ], |
189
|
|
|
|
|
|
|
963 => [ 'Hungary' => [ '00', '19', '200', '699', '7000', '8499', '85000', '89999', '9000', '9999' ] ], |
190
|
|
|
|
|
|
|
964 => [ 'Iran' => [ '00', '14', '150', '249', '2500', '2999', '300', '549', '5500', '8999', '90000', '96999', '970', '989', '9900', '9999' ] ], |
191
|
|
|
|
|
|
|
965 => [ 'Israel' => [ '00', '19', '200', '599', '7000', '7999', '90000', '99999' ] ], |
192
|
|
|
|
|
|
|
966 => [ 'Ukraine' => [ '00', '12', '130', '139', '14', '14', '1500', '1699', '170', '199', '2000', '2789', '279', '289', '2900', '2999', '300', '699', '7000', '8999', '90000', '90999', '910', '949', '95000', '97999', '980', '999' ] ], |
193
|
|
|
|
|
|
|
967 => [ 'Malaysia' => [ '0000', '0999', '10000', '19999', '2000', '2499', '250', '254', '25500', '26999', '2700', '2799', '2800', '2999', '300', '499', '5000', '5999', '60', '89', '900', '989', '9900', '9989', '99900', '99999' ] ], |
194
|
|
|
|
|
|
|
968 => [ 'Mexico' => [ '01', '39', '400', '499', '5000', '7999', '800', '899', '9000', '9999' ] ], |
195
|
|
|
|
|
|
|
969 => [ 'Pakistan' => [ '0', '1', '20', '20', '210', '219', '2200', '2299', '23000', '23999', '24', '39', '400', '749', '7500', '9999' ] ], |
196
|
|
|
|
|
|
|
970 => [ 'Mexico' => [ '01', '59', '600', '899', '9000', '9099', '91000', '96999', '9700', '9999' ] ], |
197
|
|
|
|
|
|
|
971 => [ 'Philippines' => [ '000', '015', '0160', '0199', '02', '02', '0300', '0599', '06', '49', '500', '849', '8500', '9099', '91000', '95999', '9600', '9699', '97', '98', '9900', '9999' ] ], |
198
|
|
|
|
|
|
|
972 => [ 'Portugal' => [ '0', '1', '20', '54', '550', '799', '8000', '9499', '95000', '99999' ] ], |
199
|
|
|
|
|
|
|
973 => [ 'Romania' => [ '0', '0', '100', '169', '1700', '1999', '20', '54', '550', '759', '7600', '8499', '85000', '88999', '8900', '9499', '95000', '99999' ] ], |
200
|
|
|
|
|
|
|
974 => [ 'Thailand' => [ '00', '19', '200', '699', '7000', '8499', '85000', '89999', '90000', '94999', '9500', '9999' ] ], |
201
|
|
|
|
|
|
|
975 => [ 'Turkey' => [ '00000', '01999', '02', '23', '2400', '2499', '250', '599', '6000', '9199', '92000', '98999', '990', '999' ] ], |
202
|
|
|
|
|
|
|
976 => [ 'Caribbean Community' => [ '0', '3', '40', '59', '600', '799', '8000', '9499', '95000', '99999' ] ], |
203
|
|
|
|
|
|
|
977 => [ 'Egypt' => [ '00', '19', '200', '499', '5000', '6999', '700', '849', '85000', '89299', '893', '894', '8950', '8999', '90', '98', '990', '999' ] ], |
204
|
|
|
|
|
|
|
978 => [ 'Nigeria' => [ '000', '199', '2000', '2999', '30000', '77999', '780', '799', '8000', '8999', '900', '999' ] ], |
205
|
|
|
|
|
|
|
979 => [ 'Indonesia' => [ '000', '099', '1000', '1499', '15000', '19999', '20', '29', '3000', '3999', '400', '799', '8000', '9499', '95000', '99999' ] ], |
206
|
|
|
|
|
|
|
980 => [ 'Venezuela' => [ '00', '19', '200', '599', '6000', '9999' ] ], |
207
|
|
|
|
|
|
|
981 => [ 'Singapore' => [ '00', '16', '17000', '17999', '18', '19', '200', '299', '3000', '3099', '310', '399', '4000', '9499', '97', '99' ] ], |
208
|
|
|
|
|
|
|
982 => [ 'South Pacific' => [ '00', '09', '100', '699', '70', '89', '9000', '9799', '98000', '99999' ] ], |
209
|
|
|
|
|
|
|
983 => [ 'Malaysia' => [ '00', '01', '020', '199', '2000', '3999', '40000', '44999', '45', '49', '50', '79', '800', '899', '9000', '9899', '99000', '99999' ] ], |
210
|
|
|
|
|
|
|
984 => [ 'Bangladesh' => [ '00', '39', '400', '799', '8000', '8999', '90000', '99999' ] ], |
211
|
|
|
|
|
|
|
985 => [ 'Belarus' => [ '00', '39', '400', '599', '6000', '8799', '880', '899', '90000', '99999' ] ], |
212
|
|
|
|
|
|
|
986 => [ 'Taiwan' => [ '00', '05', '06000', '06999', '0700', '0799', '08', '11', '120', '539', '5400', '7999', '80000', '99999' ] ], |
213
|
|
|
|
|
|
|
987 => [ 'Argentina' => [ '00', '09', '1000', '1999', '20000', '29999', '30', '35', '3600', '4199', '42', '43', '4400', '4499', '45000', '48999', '4900', '4999', '500', '824', '8250', '8279', '82800', '82999', '8300', '8499', '85', '88', '8900', '9499', '95000', '99999' ] ], |
214
|
|
|
|
|
|
|
988 => [ 'Hong Kong, China' => [ '00', '11', '12000', '19999', '200', '699', '70000', '79999', '8000', '9699', '97000', '99999' ] ], |
215
|
|
|
|
|
|
|
989 => [ 'Portugal' => [ '0', '1', '20', '34', '35000', '36999', '37', '52', '53000', '54999', '550', '799', '8000', '9499', '95000', '99999' ] ], |
216
|
|
|
|
|
|
|
9910 => [ 'Uzbekistan' => [ '01', '05', '730', '799', '9400', '9999' ] ], |
217
|
|
|
|
|
|
|
9911 => [ 'Montenegro' => [ '20', '24', '550', '749' ] ], |
218
|
|
|
|
|
|
|
9912 => [ 'Tanzania' => [ '40', '44', '750', '799', '9800', '9999' ] ], |
219
|
|
|
|
|
|
|
9913 => [ 'Uganda' => [ '00', '07', '600', '699', '9550', '9999' ] ], |
220
|
|
|
|
|
|
|
9914 => [ 'Kenya' => [ '40', '52', '700', '774', '9600', '9999' ] ], |
221
|
|
|
|
|
|
|
9915 => [ 'Uruguay' => [ '40', '59', '650', '799', '9300', '9999' ] ], |
222
|
|
|
|
|
|
|
9916 => [ 'Estonia' => [ '0', '0', '10', '39', '4', '5', '600', '799', '80', '84', '850', '899', '90', '91', '9250', '9999' ] ], |
223
|
|
|
|
|
|
|
9917 => [ 'Bolivia' => [ '0', '0', '30', '34', '600', '699', '9700', '9999' ] ], |
224
|
|
|
|
|
|
|
9918 => [ 'Malta' => [ '0', '0', '20', '29', '600', '799', '9500', '9999' ] ], |
225
|
|
|
|
|
|
|
9919 => [ 'Mongolia' => [ '0', '0', '20', '29', '500', '599', '9000', '9999' ] ], |
226
|
|
|
|
|
|
|
9920 => [ 'Morocco' => [ '30', '42', '500', '799', '8750', '9999' ] ], |
227
|
|
|
|
|
|
|
9921 => [ 'Kuwait' => [ '0', '0', '30', '39', '700', '899', '9700', '9999' ] ], |
228
|
|
|
|
|
|
|
9922 => [ 'Iraq' => [ '20', '29', '600', '799', '8500', '9999' ] ], |
229
|
|
|
|
|
|
|
9923 => [ 'Jordan' => [ '0', '0', '10', '59', '700', '899', '9400', '9999' ] ], |
230
|
|
|
|
|
|
|
9924 => [ 'Cambodia' => [ '30', '39', '500', '649', '9000', '9999' ] ], |
231
|
|
|
|
|
|
|
9925 => [ 'Cyprus' => [ '0', '2', '30', '54', '550', '734', '7350', '9999' ] ], |
232
|
|
|
|
|
|
|
9926 => [ 'Bosnia and Herzegovina' => [ '0', '1', '20', '39', '400', '799', '8000', '9999' ] ], |
233
|
|
|
|
|
|
|
9927 => [ 'Qatar' => [ '00', '09', '100', '399', '4000', '4999' ] ], |
234
|
|
|
|
|
|
|
9928 => [ 'Albania' => [ '00', '09', '100', '399', '4000', '4999', '800', '899', '90', '99' ] ], |
235
|
|
|
|
|
|
|
9929 => [ 'Guatemala' => [ '0', '3', '40', '54', '550', '799', '8000', '9999' ] ], |
236
|
|
|
|
|
|
|
9930 => [ 'Costa Rica' => [ '00', '49', '500', '939', '9400', '9999' ] ], |
237
|
|
|
|
|
|
|
9931 => [ 'Algeria' => [ '00', '23', '240', '899', '9000', '9999' ] ], |
238
|
|
|
|
|
|
|
9932 => [ 'Lao People\'s Democratic Republic' => [ '00', '39', '400', '849', '8500', '9999' ] ], |
239
|
|
|
|
|
|
|
9933 => [ 'Syria' => [ '0', '0', '10', '39', '400', '899', '9000', '9999' ] ], |
240
|
|
|
|
|
|
|
9934 => [ 'Latvia' => [ '0', '0', '10', '49', '500', '799', '8000', '9999' ] ], |
241
|
|
|
|
|
|
|
9935 => [ 'Iceland' => [ '0', '0', '10', '39', '400', '899', '9000', '9999' ] ], |
242
|
|
|
|
|
|
|
9936 => [ 'Afghanistan' => [ '0', '1', '20', '39', '400', '799', '8000', '9999' ] ], |
243
|
|
|
|
|
|
|
9937 => [ 'Nepal' => [ '0', '2', '30', '49', '500', '799', '8000', '9999' ] ], |
244
|
|
|
|
|
|
|
9938 => [ 'Tunisia' => [ '00', '79', '800', '949', '9500', '9749', '975', '990', '9910', '9999' ] ], |
245
|
|
|
|
|
|
|
9939 => [ 'Armenia' => [ '0', '3', '40', '79', '800', '899', '9000', '9599', '960', '979', '98', '99' ] ], |
246
|
|
|
|
|
|
|
9940 => [ 'Montenegro' => [ '0', '1', '20', '49', '500', '839', '84', '86', '8700', '9999' ] ], |
247
|
|
|
|
|
|
|
9941 => [ 'Georgia' => [ '0', '0', '10', '39', '400', '799', '8', '8', '9000', '9999' ] ], |
248
|
|
|
|
|
|
|
9942 => [ 'Ecuador' => [ '00', '59', '600', '699', '7000', '7499', '750', '849', '8500', '8999', '900', '984', '9850', '9999' ] ], |
249
|
|
|
|
|
|
|
9943 => [ 'Uzbekistan' => [ '00', '29', '300', '399', '4000', '9749', '975', '999' ] ], |
250
|
|
|
|
|
|
|
9944 => [ 'Turkey' => [ '0000', '0999', '100', '499', '5000', '5999', '60', '69', '700', '799', '80', '89', '900', '999' ] ], |
251
|
|
|
|
|
|
|
9945 => [ 'Dominican Republic' => [ '00', '00', '010', '079', '08', '39', '400', '569', '57', '57', '580', '799', '80', '80', '810', '849', '8500', '9999' ] ], |
252
|
|
|
|
|
|
|
9946 => [ 'Korea, P.D.R.' => [ '0', '1', '20', '39', '400', '899', '9000', '9999' ] ], |
253
|
|
|
|
|
|
|
9947 => [ 'Algeria' => [ '0', '1', '20', '79', '800', '999' ] ], |
254
|
|
|
|
|
|
|
9948 => [ 'United Arab Emirates' => [ '00', '39', '400', '849', '8500', '9999' ] ], |
255
|
|
|
|
|
|
|
9949 => [ 'Estonia' => [ '00', '08', '090', '099', '10', '39', '400', '699', '70', '71', '7200', '7499', '75', '89', '9000', '9999' ] ], |
256
|
|
|
|
|
|
|
9950 => [ 'Palestine' => [ '00', '29', '300', '849', '8500', '9999' ] ], |
257
|
|
|
|
|
|
|
9951 => [ 'Kosova' => [ '00', '38', '390', '849', '8500', '9799', '980', '999' ] ], |
258
|
|
|
|
|
|
|
9952 => [ 'Azerbaijan' => [ '0', '1', '20', '39', '400', '799', '8000', '9999' ] ], |
259
|
|
|
|
|
|
|
9953 => [ 'Lebanon' => [ '0', '0', '10', '39', '400', '599', '60', '89', '9000', '9299', '93', '96', '970', '999' ] ], |
260
|
|
|
|
|
|
|
9954 => [ 'Morocco' => [ '0', '1', '20', '39', '400', '799', '8000', '9899', '99', '99' ] ], |
261
|
|
|
|
|
|
|
9955 => [ 'Lithuania' => [ '00', '39', '400', '929', '9300', '9999' ] ], |
262
|
|
|
|
|
|
|
9956 => [ 'Cameroon' => [ '0', '0', '10', '39', '400', '899', '9000', '9999' ] ], |
263
|
|
|
|
|
|
|
9957 => [ 'Jordan' => [ '00', '39', '400', '649', '65', '67', '680', '699', '70', '84', '8500', '8799', '88', '99' ] ], |
264
|
|
|
|
|
|
|
9958 => [ 'Bosnia and Herzegovina' => [ '00', '01', '020', '029', '0300', '0399', '040', '089', '0900', '0999', '10', '18', '1900', '1999', '20', '49', '500', '899', '9000', '9999' ] ], |
265
|
|
|
|
|
|
|
9959 => [ 'Libya' => [ '0', '1', '20', '79', '800', '949', '9500', '9699', '970', '979', '98', '99' ] ], |
266
|
|
|
|
|
|
|
9960 => [ 'Saudi Arabia' => [ '00', '59', '600', '899', '9000', '9999' ] ], |
267
|
|
|
|
|
|
|
9961 => [ 'Algeria' => [ '0', '2', '30', '69', '700', '949', '9500', '9999' ] ], |
268
|
|
|
|
|
|
|
9962 => [ 'Panama' => [ '00', '54', '5500', '5599', '56', '59', '600', '849', '8500', '9999' ] ], |
269
|
|
|
|
|
|
|
9963 => [ 'Cyprus' => [ '0', '1', '2000', '2499', '250', '279', '2800', '2999', '30', '54', '550', '734', '7350', '7499', '7500', '9999' ] ], |
270
|
|
|
|
|
|
|
9964 => [ 'Ghana' => [ '0', '6', '70', '94', '950', '999' ] ], |
271
|
|
|
|
|
|
|
9965 => [ 'Kazakhstan' => [ '00', '39', '400', '899', '9000', '9999' ] ], |
272
|
|
|
|
|
|
|
9966 => [ 'Kenya' => [ '000', '139', '14', '14', '1500', '1999', '20', '69', '7000', '7499', '750', '820', '8210', '8249', '825', '825', '8260', '8289', '829', '959', '9600', '9999' ] ], |
273
|
|
|
|
|
|
|
9967 => [ 'Kyrgyz Republic' => [ '00', '39', '400', '899', '9000', '9999' ] ], |
274
|
|
|
|
|
|
|
9968 => [ 'Costa Rica' => [ '00', '49', '500', '939', '9400', '9999' ] ], |
275
|
|
|
|
|
|
|
9969 => [ 'Algeria' => [ '00', '06', '500', '649', '9700', '9999' ] ], |
276
|
|
|
|
|
|
|
9970 => [ 'Uganda' => [ '00', '39', '400', '899', '9000', '9999' ] ], |
277
|
|
|
|
|
|
|
9971 => [ 'Singapore' => [ '0', '5', '60', '89', '900', '989', '9900', '9999' ] ], |
278
|
|
|
|
|
|
|
9972 => [ 'Peru' => [ '00', '09', '1', '1', '200', '249', '2500', '2999', '30', '59', '600', '899', '9000', '9999' ] ], |
279
|
|
|
|
|
|
|
9973 => [ 'Tunisia' => [ '00', '05', '060', '089', '0900', '0999', '10', '69', '700', '969', '9700', '9999' ] ], |
280
|
|
|
|
|
|
|
9974 => [ 'Uruguay' => [ '0', '2', '30', '54', '550', '749', '7500', '8799', '880', '909', '91', '94', '95', '99' ] ], |
281
|
|
|
|
|
|
|
9975 => [ 'Moldova' => [ '0', '0', '100', '299', '3000', '3999', '4000', '4499', '45', '89', '900', '949', '9500', '9999' ] ], |
282
|
|
|
|
|
|
|
9976 => [ 'Tanzania' => [ '0', '4', '5000', '5799', '580', '589', '59', '89', '900', '989', '9900', '9999' ] ], |
283
|
|
|
|
|
|
|
9977 => [ 'Costa Rica' => [ '00', '89', '900', '989', '9900', '9999' ] ], |
284
|
|
|
|
|
|
|
9978 => [ 'Ecuador' => [ '00', '29', '300', '399', '40', '94', '950', '989', '9900', '9999' ] ], |
285
|
|
|
|
|
|
|
9979 => [ 'Iceland' => [ '0', '4', '50', '64', '650', '659', '66', '75', '760', '899', '9000', '9999' ] ], |
286
|
|
|
|
|
|
|
9980 => [ 'Papua New Guinea' => [ '0', '3', '40', '89', '900', '989', '9900', '9999' ] ], |
287
|
|
|
|
|
|
|
9981 => [ 'Morocco' => [ '00', '09', '100', '159', '1600', '1999', '20', '79', '800', '949', '9500', '9999' ] ], |
288
|
|
|
|
|
|
|
9982 => [ 'Zambia' => [ '00', '79', '800', '989', '9900', '9999' ] ], |
289
|
|
|
|
|
|
|
9983 => [ 'Gambia' => [ '80', '94', '950', '989', '9900', '9999' ] ], |
290
|
|
|
|
|
|
|
9984 => [ 'Latvia' => [ '00', '49', '500', '899', '9000', '9999' ] ], |
291
|
|
|
|
|
|
|
9985 => [ 'Estonia' => [ '0', '4', '50', '79', '800', '899', '9000', '9999' ] ], |
292
|
|
|
|
|
|
|
9986 => [ 'Lithuania' => [ '00', '39', '400', '899', '9000', '9399', '940', '969', '97', '99' ] ], |
293
|
|
|
|
|
|
|
9987 => [ 'Tanzania' => [ '00', '39', '400', '879', '8800', '9999' ] ], |
294
|
|
|
|
|
|
|
9988 => [ 'Ghana' => [ '0', '3', '40', '54', '550', '749', '7500', '9999' ] ], |
295
|
|
|
|
|
|
|
9989 => [ 'North Macedonia' => [ '0', '0', '100', '199', '2000', '2999', '30', '59', '600', '949', '9500', '9999' ] ], |
296
|
|
|
|
|
|
|
99901 => [ 'Bahrain' => [ '00', '49', '500', '799', '80', '99' ] ], |
297
|
|
|
|
|
|
|
99902 => [ 'Reserved Agency' => [ ] ], |
298
|
|
|
|
|
|
|
99903 => [ 'Mauritius' => [ '0', '1', '20', '89', '900', '999' ] ], |
299
|
|
|
|
|
|
|
99904 => [ 'Curaçao' => [ '0', '5', '60', '89', '900', '999' ] ], |
300
|
|
|
|
|
|
|
99905 => [ 'Bolivia' => [ '0', '3', '40', '79', '800', '999' ] ], |
301
|
|
|
|
|
|
|
99906 => [ 'Kuwait' => [ '0', '2', '30', '59', '600', '699', '70', '89', '90', '94', '950', '999' ] ], |
302
|
|
|
|
|
|
|
99908 => [ 'Malawi' => [ '0', '0', '10', '89', '900', '999' ] ], |
303
|
|
|
|
|
|
|
99909 => [ 'Malta' => [ '0', '3', '40', '94', '950', '999' ] ], |
304
|
|
|
|
|
|
|
99910 => [ 'Sierra Leone' => [ '0', '2', '30', '89', '900', '999' ] ], |
305
|
|
|
|
|
|
|
99911 => [ 'Lesotho' => [ '00', '59', '600', '999' ] ], |
306
|
|
|
|
|
|
|
99912 => [ 'Botswana' => [ '0', '3', '400', '599', '60', '89', '900', '999' ] ], |
307
|
|
|
|
|
|
|
99913 => [ 'Andorra' => [ '0', '2', '30', '35', '600', '604' ] ], |
308
|
|
|
|
|
|
|
99914 => [ 'International NGO Publishers' => [ '0', '4', '50', '69', '7', '7', '80', '86', '870', '879', '88', '89', '900', '999' ] ], |
309
|
|
|
|
|
|
|
99915 => [ 'Maldives' => [ '0', '4', '50', '79', '800', '999' ] ], |
310
|
|
|
|
|
|
|
99916 => [ 'Namibia' => [ '0', '2', '30', '69', '700', '999' ] ], |
311
|
|
|
|
|
|
|
99917 => [ 'Brunei Darussalam' => [ '0', '2', '30', '88', '890', '999' ] ], |
312
|
|
|
|
|
|
|
99918 => [ 'Faroe Islands' => [ '0', '3', '40', '79', '800', '999' ] ], |
313
|
|
|
|
|
|
|
99919 => [ 'Benin' => [ '0', '2', '300', '399', '40', '79', '800', '999' ] ], |
314
|
|
|
|
|
|
|
99920 => [ 'Andorra' => [ '0', '4', '50', '89', '900', '999' ] ], |
315
|
|
|
|
|
|
|
99921 => [ 'Qatar' => [ '0', '1', '20', '69', '700', '799', '8', '8', '90', '99' ] ], |
316
|
|
|
|
|
|
|
99922 => [ 'Guatemala' => [ '0', '3', '40', '69', '700', '999' ] ], |
317
|
|
|
|
|
|
|
99923 => [ 'El Salvador' => [ '0', '1', '20', '79', '800', '999' ] ], |
318
|
|
|
|
|
|
|
99924 => [ 'Nicaragua' => [ '0', '1', '20', '79', '800', '999' ] ], |
319
|
|
|
|
|
|
|
99925 => [ 'Paraguay' => [ '0', '0', '10', '19', '200', '299', '3', '3', '40', '79', '800', '999' ] ], |
320
|
|
|
|
|
|
|
99926 => [ 'Honduras' => [ '0', '0', '10', '59', '600', '869', '87', '89', '90', '99' ] ], |
321
|
|
|
|
|
|
|
99927 => [ 'Albania' => [ '0', '2', '30', '59', '600', '999' ] ], |
322
|
|
|
|
|
|
|
99928 => [ 'Georgia' => [ '0', '0', '10', '79', '800', '999' ] ], |
323
|
|
|
|
|
|
|
99929 => [ 'Mongolia' => [ '0', '4', '50', '79', '800', '999' ] ], |
324
|
|
|
|
|
|
|
99930 => [ 'Armenia' => [ '0', '4', '50', '79', '800', '999' ] ], |
325
|
|
|
|
|
|
|
99931 => [ 'Seychelles' => [ '0', '4', '50', '79', '800', '999' ] ], |
326
|
|
|
|
|
|
|
99932 => [ 'Malta' => [ '0', '0', '10', '59', '600', '699', '7', '7', '80', '99' ] ], |
327
|
|
|
|
|
|
|
99933 => [ 'Nepal' => [ '0', '2', '30', '59', '600', '999' ] ], |
328
|
|
|
|
|
|
|
99934 => [ 'Dominican Republic' => [ '0', '1', '20', '79', '800', '999' ] ], |
329
|
|
|
|
|
|
|
99935 => [ 'Haiti' => [ '0', '2', '30', '59', '600', '699', '7', '8', '90', '99' ] ], |
330
|
|
|
|
|
|
|
99936 => [ 'Bhutan' => [ '0', '0', '10', '59', '600', '999' ] ], |
331
|
|
|
|
|
|
|
99937 => [ 'Macau' => [ '0', '1', '20', '59', '600', '999' ] ], |
332
|
|
|
|
|
|
|
99938 => [ 'Srpska, Republic of' => [ '0', '1', '20', '59', '600', '899', '90', '99' ] ], |
333
|
|
|
|
|
|
|
99939 => [ 'Guatemala' => [ '0', '2', '30', '59', '60', '89', '900', '999' ] ], |
334
|
|
|
|
|
|
|
99940 => [ 'Georgia' => [ '0', '0', '10', '69', '700', '999' ] ], |
335
|
|
|
|
|
|
|
99941 => [ 'Armenia' => [ '0', '2', '30', '79', '800', '999' ] ], |
336
|
|
|
|
|
|
|
99942 => [ 'Sudan' => [ '0', '4', '50', '79', '800', '999' ] ], |
337
|
|
|
|
|
|
|
99943 => [ 'Albania' => [ '0', '2', '30', '59', '600', '999' ] ], |
338
|
|
|
|
|
|
|
99944 => [ 'Ethiopia' => [ '0', '4', '50', '79', '800', '999' ] ], |
339
|
|
|
|
|
|
|
99945 => [ 'Namibia' => [ '0', '4', '50', '89', '900', '999' ] ], |
340
|
|
|
|
|
|
|
99946 => [ 'Nepal' => [ '0', '2', '30', '59', '600', '999' ] ], |
341
|
|
|
|
|
|
|
99947 => [ 'Tajikistan' => [ '0', '2', '30', '69', '700', '999' ] ], |
342
|
|
|
|
|
|
|
99948 => [ 'Eritrea' => [ '0', '4', '50', '79', '800', '999' ] ], |
343
|
|
|
|
|
|
|
99949 => [ 'Mauritius' => [ '0', '1', '20', '79', '8', '8', '900', '989', '99', '99' ] ], |
344
|
|
|
|
|
|
|
99950 => [ 'Cambodia' => [ '0', '4', '50', '79', '800', '999' ] ], |
345
|
|
|
|
|
|
|
99951 => [ 'Reserved Agency' => [ ] ], |
346
|
|
|
|
|
|
|
99952 => [ 'Mali' => [ '0', '4', '50', '79', '800', '999' ] ], |
347
|
|
|
|
|
|
|
99953 => [ 'Paraguay' => [ '0', '2', '30', '79', '800', '939', '94', '99' ] ], |
348
|
|
|
|
|
|
|
99954 => [ 'Bolivia' => [ '0', '2', '30', '69', '700', '879', '88', '99' ] ], |
349
|
|
|
|
|
|
|
99955 => [ 'Srpska, Republic of' => [ '0', '1', '20', '59', '600', '799', '80', '99' ] ], |
350
|
|
|
|
|
|
|
99956 => [ 'Albania' => [ '00', '59', '600', '859', '86', '99' ] ], |
351
|
|
|
|
|
|
|
99957 => [ 'Malta' => [ '0', '1', '20', '79', '800', '949', '95', '99' ] ], |
352
|
|
|
|
|
|
|
99958 => [ 'Bahrain' => [ '0', '4', '50', '93', '940', '949', '950', '999' ] ], |
353
|
|
|
|
|
|
|
99959 => [ 'Luxembourg' => [ '0', '2', '30', '59', '600', '999' ] ], |
354
|
|
|
|
|
|
|
99960 => [ 'Malawi' => [ '070', '099', '10', '94', '950', '999' ] ], |
355
|
|
|
|
|
|
|
99961 => [ 'El Salvador' => [ '0', '2', '300', '369', '37', '89', '900', '999' ] ], |
356
|
|
|
|
|
|
|
99962 => [ 'Mongolia' => [ '0', '4', '50', '79', '800', '999' ] ], |
357
|
|
|
|
|
|
|
99963 => [ 'Cambodia' => [ '00', '49', '500', '919', '92', '99' ] ], |
358
|
|
|
|
|
|
|
99964 => [ 'Nicaragua' => [ '0', '1', '20', '79', '800', '999' ] ], |
359
|
|
|
|
|
|
|
99965 => [ 'Macau' => [ '0', '2', '300', '359', '36', '62', '630', '999' ] ], |
360
|
|
|
|
|
|
|
99966 => [ 'Kuwait' => [ '0', '2', '30', '69', '700', '799', '80', '96', '970', '999' ] ], |
361
|
|
|
|
|
|
|
99967 => [ 'Paraguay' => [ '0', '0', '10', '59', '600', '999' ] ], |
362
|
|
|
|
|
|
|
99968 => [ 'Botswana' => [ '0', '3', '400', '599', '60', '89', '900', '999' ] ], |
363
|
|
|
|
|
|
|
99969 => [ 'Oman' => [ '0', '4', '50', '79', '800', '949', '95', '99' ] ], |
364
|
|
|
|
|
|
|
99970 => [ 'Haiti' => [ '0', '4', '50', '89', '900', '999' ] ], |
365
|
|
|
|
|
|
|
99971 => [ 'Myanmar' => [ '0', '3', '40', '84', '850', '999' ] ], |
366
|
|
|
|
|
|
|
99972 => [ 'Faroe Islands' => [ '0', '4', '50', '89', '900', '999' ] ], |
367
|
|
|
|
|
|
|
99973 => [ 'Mongolia' => [ '0', '3', '40', '79', '800', '999' ] ], |
368
|
|
|
|
|
|
|
99974 => [ 'Bolivia' => [ '0', '0', '10', '25', '260', '399', '40', '63', '640', '649', '65', '79', '800', '999' ] ], |
369
|
|
|
|
|
|
|
99975 => [ 'Tajikistan' => [ '0', '2', '300', '399', '40', '79', '800', '999' ] ], |
370
|
|
|
|
|
|
|
99976 => [ 'Srpska, Republic of' => [ '0', '0', '10', '15', '160', '199', '20', '59', '600', '819', '82', '89', '900', '999' ] ], |
371
|
|
|
|
|
|
|
99977 => [ 'Rwanda' => [ '0', '1', '40', '69', '700', '799', '975', '999' ] ], |
372
|
|
|
|
|
|
|
99978 => [ 'Mongolia' => [ '0', '4', '50', '69', '700', '999' ] ], |
373
|
|
|
|
|
|
|
99979 => [ 'Honduras' => [ '0', '3', '40', '79', '800', '999' ] ], |
374
|
|
|
|
|
|
|
99980 => [ 'Bhutan' => [ '0', '0', '30', '59', '750', '999' ] ], |
375
|
|
|
|
|
|
|
99981 => [ 'Macau' => [ '0', '1', '200', '219', '24', '74', '750', '999' ] ], |
376
|
|
|
|
|
|
|
99982 => [ 'Benin' => [ '0', '1', '50', '68', '900', '999' ] ], |
377
|
|
|
|
|
|
|
99983 => [ 'El Salvador' => [ '0', '0', '35', '69', '900', '999' ] ], |
378
|
|
|
|
|
|
|
99984 => [ 'Brunei Darussalam' => [ '0', '0', '50', '69', '950', '999' ] ], |
379
|
|
|
|
|
|
|
99985 => [ 'Tajikistan' => [ '0', '1', '35', '79', '850', '999' ] ], |
380
|
|
|
|
|
|
|
99986 => [ 'Myanmar' => [ '0', '0', '50', '69', '950', '999' ] ], |
381
|
|
|
|
|
|
|
99987 => [ 'Luxembourg' => [ '700', '999' ] ], |
382
|
|
|
|
|
|
|
99988 => [ 'Sudan' => [ '0', '0', '50', '54', '800', '824' ] ], |
383
|
|
|
|
|
|
|
99989 => [ 'Paraguay' => [ '0', '0', '50', '64', '900', '999' ] ], |
384
|
|
|
|
|
|
|
99990 => [ 'Ethiopia' => [ '0', '0', '50', '54', '975', '999' ] ], |
385
|
|
|
|
|
|
|
99992 => [ 'Oman' => [ '0', '1', '50', '64', '950', '999' ] ], |
386
|
|
|
|
|
|
|
99993 => [ 'Mauritius' => [ '0', '1', '50', '54', '980', '999' ] ], |
387
|
|
|
|
|
|
|
}, |
388
|
|
|
|
|
|
|
979 => { |
389
|
|
|
|
|
|
|
8 => [ 'United States' => [ '200', '229', '3200', '3499', '3500', '8849', '88500', '89999', '90000', '90999', '9850000', '9899999', '9900000', '9929999' ] ], |
390
|
|
|
|
|
|
|
10 => [ 'France' => [ '00', '19', '200', '699', '7000', '8999', '90000', '97599', '976000', '999999' ] ], |
391
|
|
|
|
|
|
|
11 => [ 'Korea, Republic' => [ '00', '24', '250', '549', '5500', '8499', '85000', '94999', '950000', '999999' ] ], |
392
|
|
|
|
|
|
|
12 => [ 'Italy' => [ '200', '299', '5450', '5999', '80000', '84999' ] ], |
393
|
|
|
|
|
|
|
}, |
394
|
|
|
|
|
|
|
); |
395
|
|
|
|
|
|
|
# END REPLACE |
396
|
|
|
|
|
|
|
} |
397
|
|
|
|
|
|
|
|
398
|
|
|
|
|
|
|
sub _get_data { |
399
|
|
|
|
|
|
|
# eventually fetch this from the internet |
400
|
|
|
|
|
|
|
# http://www.isbn-international.org/agency?rmxml=1 |
401
|
|
|
|
|
|
|
|
402
|
4
|
50
|
66
|
4
|
|
410981
|
if( defined $ENV{ISBN_RANGE_MESSAGE} and ! -e $ENV{ISBN_RANGE_MESSAGE} ) { |
403
|
0
|
|
|
|
|
0
|
carp "ISBN_RANGE_MESSAGE is set to [$ENV{ISBN_RANGE_MESSAGE}] but that file does not exist!\nTrying to use the default locations\n"; |
404
|
|
|
|
|
|
|
} |
405
|
|
|
|
|
|
|
|
406
|
4
|
|
|
|
|
10
|
my $file = 'RangeMessage.xml'; |
407
|
2
|
|
|
2
|
|
19
|
no warnings 'uninitialized'; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
1874
|
|
408
|
12
|
|
|
|
|
194
|
my @candidates = grep { -e } ( |
409
|
|
|
|
|
|
|
$ENV{ISBN_RANGE_MESSAGE}, # env |
410
|
4
|
|
|
|
|
458
|
catfile( dirname( __FILE__ ), $file ), # next to the module |
411
|
|
|
|
|
|
|
$file, # current directory |
412
|
|
|
|
|
|
|
); |
413
|
|
|
|
|
|
|
|
414
|
4
|
|
|
|
|
14
|
my $hash; |
415
|
|
|
|
|
|
|
|
416
|
4
|
100
|
|
|
|
32
|
$hash = _parse_range_message( $candidates[0] ) if @candidates; |
417
|
|
|
|
|
|
|
|
418
|
4
|
100
|
|
|
|
31
|
if( defined $hash ) { return %$hash } |
|
3
|
|
|
|
|
39
|
|
419
|
1
|
|
|
|
|
5
|
else { _default_data() } |
420
|
|
|
|
|
|
|
} |
421
|
|
|
|
|
|
|
|
422
|
|
|
|
|
|
|
sub _parse_range_message { |
423
|
3
|
|
|
3
|
|
10
|
my( $file ) = @_; |
424
|
|
|
|
|
|
|
|
425
|
3
|
50
|
|
|
|
198
|
open my $fh, '<:utf8', $file or do { |
426
|
0
|
|
|
|
|
0
|
carp "Could not open $file to get ISBN range data [$!]\n"; |
427
|
|
|
|
|
|
|
return |
428
|
0
|
|
|
|
|
0
|
}; |
429
|
|
|
|
|
|
|
|
430
|
3
|
|
|
|
|
7
|
my $data = do { local $/; <$fh> }; |
|
3
|
|
|
|
|
16
|
|
|
3
|
|
|
|
|
1313
|
|
431
|
|
|
|
|
|
|
|
432
|
3
|
|
|
|
|
18
|
my $ds; |
433
|
|
|
|
|
|
|
|
434
|
3
|
|
|
|
|
51
|
my( $serial_number ) = $data =~ m|(.*?)|; |
435
|
3
|
|
|
|
|
29
|
my( $date ) = $data =~ m|(.*?)|; |
436
|
|
|
|
|
|
|
|
437
|
3
|
|
|
|
|
18
|
$ds->{'_source'} = $file; |
438
|
3
|
|
|
|
|
8
|
$ds->{'_serial'} = $serial_number; |
439
|
3
|
|
|
|
|
7
|
$ds->{'_date'} = $date; |
440
|
|
|
|
|
|
|
|
441
|
3
|
|
|
|
|
8842
|
my( $registration_groups ) = $data =~ m|(.*?)|s; |
442
|
|
|
|
|
|
|
|
443
|
3
|
|
|
|
|
9944
|
my @groups = $registration_groups =~ m|(.*?)|sg; |
444
|
|
|
|
|
|
|
|
445
|
3
|
|
|
|
|
19
|
foreach my $group ( @groups ) { |
446
|
807
|
|
|
|
|
3764
|
my( $isbn_prefix, $prefix ) = $group =~ m|(97[89]-)?([0-9]+?)|; |
447
|
807
|
100
|
|
|
|
1897
|
$isbn_prefix = $isbn_prefix eq '979-' ? "979" : "978"; |
448
|
807
|
|
|
|
|
2714
|
my( $agency ) = $group =~ m|(.*?)|; |
449
|
807
|
|
|
|
|
2814
|
$agency =~ s/^\s+|\s+$//g; # 'Croatia ' ??? |
450
|
|
|
|
|
|
|
my @rules = |
451
|
|
|
|
|
|
|
map { |
452
|
4251
|
|
|
|
|
15762
|
my( $range ) = m|(.*?)|; |
453
|
4251
|
|
|
|
|
14028
|
my( $length ) = m|(.*?)|; |
454
|
4251
|
|
|
|
|
11096
|
my( $low, $high ) = split /-/, $range, 2; |
455
|
4251
|
|
|
|
|
13866
|
( substr($low, 0, $length), substr($high, 0, $length) ); |
456
|
|
|
|
|
|
|
} |
457
|
|
|
|
|
|
|
grep { |
458
|
807
|
|
|
|
|
12025
|
! m|0| |
|
4674
|
|
|
|
|
9309
|
|
459
|
|
|
|
|
|
|
} |
460
|
|
|
|
|
|
|
$group =~ m|(.*?)|sg; |
461
|
|
|
|
|
|
|
|
462
|
807
|
|
|
|
|
4228
|
$ds->{$isbn_prefix}->{$prefix} = [ $agency => \@rules ]; |
463
|
|
|
|
|
|
|
} |
464
|
|
|
|
|
|
|
|
465
|
3
|
|
|
|
|
142
|
$ds; |
466
|
|
|
|
|
|
|
} |
467
|
|
|
|
|
|
|
|
468
|
|
|
|
|
|
|
%Business::ISBN::country_data = _get_data(); |
469
|
|
|
|
|
|
|
|
470
|
|
|
|
|
|
|
# I cheat a little bit here. I know that that the max length is |
471
|
|
|
|
|
|
|
# 5, and that I know that those will start with 999xx. :) |
472
|
|
|
|
|
|
|
# however, if the data changes I should think about this again. |
473
|
|
|
|
|
|
|
$Business::ISBN::MAX_COUNTRY_CODE_LENGTH = length( |
474
|
|
|
|
|
|
|
( sort { $a <=> $b } grep { ! /\A_/ } map { keys %$_ } @Business::ISBN::country_data{qw(978 979)} )[-1] |
475
|
|
|
|
|
|
|
); |
476
|
|
|
|
|
|
|
|
477
|
|
|
|
|
|
|
package # Hide from PAUSE |
478
|
|
|
|
|
|
|
Business::ISBN; |
479
|
|
|
|
|
|
|
|
480
|
|
|
|
|
|
|
sub isbn_group_code_string_from_number { |
481
|
0
|
0
|
|
0
|
|
|
return if $_[0] =~ /\A_/; |
482
|
0
|
|
0
|
|
|
|
return $Business::ISBN::country_data{ $_[0] }[0] || ''; |
483
|
|
|
|
|
|
|
} |
484
|
|
|
|
|
|
|
|
485
|
|
|
|
|
|
|
sub isbn_publisher_ranges_from_group_number { |
486
|
0
|
0
|
|
0
|
|
|
return if $_[0] =~ /\A_/; |
487
|
0
|
|
0
|
|
|
|
return $Business::ISBN::country_data{ $_[0] }[1] || []; |
488
|
|
|
|
|
|
|
} |
489
|
|
|
|
|
|
|
|
490
|
|
|
|
|
|
|
sub isbn_data_source { |
491
|
0
|
|
0
|
0
|
|
|
return $Business::ISBN::country_data{ '_source' } || __FILE__ |
492
|
|
|
|
|
|
|
} |
493
|
|
|
|
|
|
|
|
494
|
|
|
|
|
|
|
1; |