Codebase list libbusiness-isbn-data-perl / 66bbd58
[svn-upgrade] Integrating new upstream version, libbusiness-isbn-data-perl (20081208) Gregor Herrmann 15 years ago
4 changed file(s) with 276 addition(s) and 912 deletion(s). Raw diff Collapse all Expand all
00 # $Id: Changes,v 1.20 2007/10/27 18:47:18 comdog Exp $
11
2 0.00 - Mon Oct 20 17:44:15 2008
2 0.00 - Fri Dec 5 12:00:41 2008
3 * Latest data update.
4
5 20081020 - Mon Oct 20 17:44:15 2008
36 * Updated publisher codes thanks to Yakov Shafranovich
47 * Version number is now the update date of the module,
58 in YYYYMMDD. This not the date of the ISBN Agency
+203
-199
Data.pm less more
22 use strict;
33 use vars qw($VERSION);
44
5 $VERSION = '20081020';
5 $VERSION = '20081208';
66
77 =head1 NAME
88
1414
1515 =head1 DESCRIPTION
1616
17 This data is current as of October 2008. At that time, the publisher
18 codes 9990000-9999999 or 999000-999999 had not been fixed, although
19 they had been proposed. I do not include them in the data. Some
20 regions, including India (93), Gabon (99902), and Congo (99951) have
21 country codes but no publisher codes. They still have entries even
22 though you won't be able to validate any ISBNs assigned in those
23 regions.
17 This data is current as of the date in the module version. At that
18 time, the publisher codes 9990000-9999999 or 999000-999999 had not
19 been fixed, although they had been proposed. I do not include them in
20 the data. Some regions, including India (93), Gabon (99902), and Congo
21 (99951) have country codes but no publisher codes. They still have
22 entries even though you won't be able to validate any ISBNs assigned
23 in those regions.
2424
2525 Business::ISBN uses this "data pack" to do its work. You can update
2626 Business::ISBN::Data independently of the main module as the various
2727 ISBN organizations assign new publisher codes. The ISBN agency lists
2828 these data at http://www.isbn-international.org/converter/ranges.htm .
29
30 Note, that as a historical artifact, some countries are actaully
29 It's also available as a javascript file at
30 http://www.isbn-international.org/converter/ranges.js . The make_data.pl
31 program creates the meat of this module.
32
33 Note, that as a historical artifact, some countries are actually
3134 language areas. For instance, country code 2 is "French", and includes
3235 several French-speaking countries.
3336
6972 use vars qw( %country_data $MAX_COUNTRY_CODE_LENGTH );
7073
7174 %country_data = (
72 0 => ['English', ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9999999' ] ],
73 1 => ['English', ['00' => '09', '100' => '399', '4000' => '5499', '55000' => '86979', '869800' => '998999' ] ],
74 2 => ['French', ['00' => '19', '200' => '349', '35000' => '39999', '400' => '699', '7000' => '8399', '84000' => '89999', '900000' => '949999', '9500000' => '9999999' ] ],
75 3 => ['German', ['00' => '02', '030' => '033', '0340' => '0369', '03700' => '03999', '04' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9539999', '95400' => '96999', '9700000' => '9899999', '99000' => '99499', '99500' => '99999' ] ],
76 4 => ['Japan', ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9999999' ] ],
77 5 => ['Russian Federation', ['00' => '19', '200' => '420', '4210' => '4299', '430' => '430', '4310' => '4399', '440' => '440', '4410' => '4499', '450' => '699', '7000' => '8499', '85000' => '89999', '900000' => '909999', '91000' => '91999', '9200' => '9299', '93000' => '94999', '9500' => '9799', '98000' => '98999', '9900000' => '9909999', '9910' => '9999' ] ],
78 600 => ['Iran', ['00' => '09', '100' => '499', '5000' => '8999', '90000' => '99999' ] ],
79 601 => ['Kazakhstan', ['00' => '19', '200' => '699', '7000' => '7999', '80000' => '84999', '85' => '99' ] ],
80 602 => ['Indonesia', ['00' => '19', '200' => '799', '8000' => '9499', '95000' => '99999' ] ],
81 603 => ['Saudi Arabia', ['00' => '04', '500' => '799', '8000' => '8999', '90000' => '99999' ] ],
82 604 => ['Vietnam', [ '0' => '4', '50' => '89', '900' => '979', '9800' => '9999' ] ],
83 605 => ['Turkey', ['00' => '09', '100' => '399', '4000' => '5999', '60000' => '89999' ] ],
84 606 => ['Romania', [ '0' => '0', '10' => '49', '500' => '799', '8000' => '9199', '92000' => '99999' ] ],
85 607 => ['Mexico', ['00' => '39', '400' => '749', '7500' => '9499', '95000' => '99999' ] ],
86 608 => ['Macedonia', [ '0' => '0', '10' => '19', '200' => '449', '4500' => '6499', '65000' => '69999', '7' => '9' ] ],
87 609 => ['Lithuania', ['00' => '39', '400' => '799', '8000' => '9499', '95000' => '99999' ] ],
88 610 => ['Thailand', ['00' => '19', '200' => '699', '7000' => '8999', '90000' => '99999' ] ],
89 611 => ['Ukraine', ['00' => '49', '500' => '699', '7000' => '8999', '90000' => '99999' ] ],
90 7 => ['China, People\'s Republic', ['00' => '09', '100' => '499', '5000' => '7999', '80000' => '89999', '900000' => '999999' ] ],
91 80 => ['Czech Republic; Slovakia', ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '999999' ] ],
92 81 => ['India', ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '999999' ] ],
93 82 => ['Norway', ['00' => '19', '200' => '699', '7000' => '8999', '90000' => '98999', '990000' => '999999' ] ],
94 83 => ['Poland', ['00' => '19', '200' => '599', '60000' => '69999', '7000' => '8499', '85000' => '89999', '900000' => '999999' ] ],
95 84 => ['Spain', ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '9000' => '9199', '920000' => '923999', '92400' => '92999', '930000' => '949999', '95000' => '96999', '9700' => '9999' ] ],
96 85 => ['Brazil', ['00' => '19', '200' => '599', '60000' => '69999', '7000' => '8499', '85000' => '89999', '900000' => '979999', '98000' => '99999' ] ],
97 86 => ['Serbia and Montenegro', ['00' => '29', '300' => '599', '6000' => '7999', '80000' => '89999', '900000' => '999999' ] ],
98 87 => ['Denmark', ['00' => '29', '400' => '649', '7000' => '7999', '85000' => '94999', '970000' => '999999' ] ],
99 88 => ['Italian speaking area', ['00' => '19', '200' => '599', '6000' => '8499', '85000' => '89999', '900000' => '949999', '95000' => '99999' ] ],
100 89 => ['Korea', ['00' => '24', '250' => '549', '5500' => '8499', '85000' => '94999', '950000' => '999999' ] ],
101 90 => ['Netherlands, Belgium (Flemish)', ['00' => '19', '200' => '499', '5000' => '6999', '70000' => '79999', '800000' => '849999', '8500' => '8999', '900000' => '909999', '940000' => '949999' ] ],
102 91 => ['Sweden', ['0' => '1', '20' => '49', '500' => '649', '7000' => '7999', '85000' => '94999', '970000' => '999999' ] ],
103 92 => ['International Publishers (Unesco, EU), European Community Organizations', ['0' => '5', '60' => '79', '800' => '899', '9000' => '9499', '95000' => '98999', '990000' => '999999' ] ],
104 93 => ['India', [] ],
105 94 => ['Netherlands', ['000' => '599', '6000' => '8999', '90000' => '99999' ] ],
106 950 => ['Argentina', ['00' => '49', '500' => '899', '9000' => '9899', '99000' => '99999' ] ],
107 951 => ['Finland', ['0' => '1', '20' => '54', '550' => '889', '8900' => '9499', '95000' => '99999' ] ],
108 952 => ['Finland', ['00' => '19', '200' => '499', '5000' => '5999', '60' => '65', '6600' => '6699', '67000' => '69999', '7000' => '7999', '80' => '94', '9500' => '9899', '99000' => '99999' ] ],
109 953 => ['Croatia', ['0' => '0', '10' => '14', '150' => '549', '55000' => '59999', '6000' => '9499', '95000' => '99999' ] ],
110 954 => ['Bulgaria', ['00' => '29', '300' => '799', '8000' => '8999', '90000' => '92999', '9300' => '9999' ] ],
111 955 => ['Sri Lanka', ['0000' => '0999', '1000' => '1999', '20' => '54', '550' => '799', '8000' => '9499', '95000' => '99999' ] ],
112 956 => ['Chile', ['00' => '19', '200' => '699', '7000' => '9999' ] ],
113 957 => ['Taiwan, China', ['00' => '02', '0300' => '0499', '05' => '19', '2000' => '2099', '21' => '27', '28000' => '30999', '31' => '43', '440' => '819', '8200' => '9699', '97000' => '99999' ] ],
114 958 => ['Colombia', ['00' => '56', '57000' => '59999', '600' => '799', '8000' => '9499', '95000' => '99999' ] ],
115 959 => ['Cuba', ['00' => '19', '200' => '699', '7000' => '8499' ] ],
116 960 => ['Greece', ['00' => '19', '200' => '659', '6600' => '6899', '690' => '699', '7000' => '8499', '85000' => '99999' ] ],
117 961 => ['Slovenia', ['00' => '19', '200' => '599', '6000' => '8999', '90000' => '94999' ] ],
118 962 => ['Hong Kong', ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '86999', '8700' => '8999', '900' => '999' ] ],
119 963 => ['Hungary', ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '9000' => '9999' ] ],
120 964 => ['Iran', ['00' => '14', '150' => '249', '2500' => '2999', '300' => '549', '5500' => '8999', '90000' => '96999', '970' => '989', '9900' => '9999' ] ],
121 965 => ['Israel', ['00' => '19', '200' => '599', '7000' => '7999', '90000' => '99999' ] ],
122 966 => ['Ukraine', ['00' => '14', '1500' => '1699', '170' => '199', '2000' => '2999', '300' => '699', '7000' => '8999', '90000' => '99999' ] ],
123 967 => ['Malaysia', ['00' => '29', '300' => '499', '5000' => '5999', '60' => '89', '900' => '989', '9900' => '9989', '99900' => '99999' ] ],
124 968 => ['Mexico', ['01' => '39', '400' => '499', '5000' => '7999', '800' => '899', '9000' => '9999' ] ],
125 969 => ['Pakistan', [ '0' => '1', '20' => '39', '400' => '799', '8000' => '9999' ] ],
126 970 => ['Mexico', ['01' => '59', '600' => '899', '9000' => '9099', '91000' => '96999', '9700' => '9999' ] ],
127 971 => ['Philippines', ['000' => '019', '02' => '02', '0300' => '0599', '06' => '09', '10' => '49', '500' => '849', '8500' => '9099', '91000' => '99999' ] ],
128 972 => ['Portugal', [ '0' => '1', '20' => '54', '550' => '799', '8000' => '9499', '95000' => '99999' ] ],
129 973 => ['Romania', [ '0' => '0', '100' => '169', '1700' => '1999', '20' => '54', '550' => '759', '7600' => '8499', '85000' => '88999', '8900' => '9499', '95000' => '99999' ] ],
130 974 => ['Thailand', ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '90000' => '94999', '9500' => '9999' ] ],
131 975 => ['Turkey', ['00000' => '00999', '01' => '24', '250' => '599', '6000' => '9199', '92000' => '98999', '990' => '999' ] ],
132 976 => ['Caribbean Community', ['0' => '3', '40' => '59', '600' => '799', '8000' => '9499', '95000' => '99999' ] ],
133 977 => ['Egypr', ['00' => '19', '200' => '499', '5000' => '6999', '700' => '999' ] ],
134 978 => ['Nigeria', ['000' => '199', '2000' => '2999', '30000' => '79999', '8000' => '8999', '900' => '999' ] ],
135 979 => ['Indonesia', ['000' => '099', '1000' => '1499', '15000' => '19999', '20' => '29', '3000' => '3999', '400' => '799', '8000' => '9499', '95000' => '99999' ] ],
136 980 => ['Venezuela', ['00' => '19', '200' => '599', '6000' => '9999' ] ],
137 981 => ['Singapore', ['00' => '11', '120' => '299', '3000' => '9999' ] ],
138 982 => ['South Pacific', ['00' => '09', '100' => '699', '70' => '89', '9000' => '9999' ] ],
139 983 => ['Malaysia', ['00' => '01', '020' => '199', '2000' => '3999', '40000' => '44999', '45' => '49', '50' => '79', '800' => '899', '9000' => '9899', '99000' => '99999' ] ],
140 984 => ['Bangladesh', ['00' => '39', '400' => '799', '8000' => '8999', '90000' => '99999' ] ],
141 985 => ['Belarus', ['00' => '39', '400' => '599', '6000' => '8999', '90000' => '99999' ] ],
142 986 => ['Taiwan, China', ['00' => '11', '120' => '559', '5600' => '7999', '80000' => '99999' ] ],
143 987 => ['Argentina', ['00' => '09', '1000' => '1999', '20000' => '29999', '30' => '49', '500' => '899', '9000' => '9499', '95000' => '99999' ] ],
144 988 => ['Hongkong', ['00' => '16', '17000' => '19999', '200' => '799', '8000' => '9699', '97000' => '99999' ] ],
145 989 => ['Portugal', ['0' => '1', '20' => '54', '550' => '799', '8000' => '9499', '95000' => '99999' ] ],
146 9933 => ['Syria', ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999' ] ],
147 9934 => ['Latvia', ['0' => '0', '10' => '49', '500' => '799', '8000' => '9999' ] ],
148 9935 => ['Iceland', ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999' ] ],
149 9936 => ['Afghanistan', ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999' ] ],
150 9937 => ['Nepal', ['0' => '2', '30' => '49', '500' => '799', '8000' => '9999' ] ],
151 9938 => ['Tunisia', ['00' => '79', '800' => '949', '9500' => '9999' ] ],
152 9939 => ['Armenia', ['0' => '4', '50' => '79', '800' => '899', '9000' => '9999' ] ],
153 9940 => ['Montenegro', ['0' => '1', '20' => '49', '500' => '899', '9000' => '9999' ] ],
154 9941 => ['Georgia', ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999' ] ],
155 9942 => ['Ecuador', ['00' => '89', '900' => '994', '9950' => '9999' ] ],
156 9943 => ['Uzbekistan', ['00' => '29', '300' => '399', '4000' => '9999' ] ],
157 9944 => ['Turkey', ['0' => '2', '300' => '499', '5000' => '5999', '60' => '89', '900' => '999' ] ],
158 9945 => ['Dominican Republic', ['00' => '00', '010' => '079', '08' => '39', '400' => '569', '57' => '57', '580' => '849', '8500' => '9999' ] ],
159 9946 => ['Korea, P.D.R.', ['0' => '1', '20' => '39', '400' => '899', '9000' => '9999' ] ],
160 9947 => ['Algeria', ['0' => '1', '20' => '79', '800' => '999' ] ],
161 9948 => ['United Arab Emirates', ['00' => '39', '400' => '849', '8500' => '9999' ] ],
162 9949 => ['Estonia', ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999' ] ],
163 9950 => ['Palestine', ['00' => '29', '300' => '840', '8500' => '9999' ] ],
164 9951 => ['Kosova', ['00' => '39', '400' => '849', '8500' => '9999' ] ],
165 9952 => ['Azerbaijan', ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999' ] ],
166 9953 => ['Lebanon', ['0' => '0', '10' => '39', '400' => '599', '60' => '89', '9000' => '9999' ] ],
167 9954 => ['Morocco', ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999' ] ],
168 9955 => ['Lithuania', ['00' => '39', '400' => '929', '9300' => '9999' ] ],
169 9956 => ['Cameroon', ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999' ] ],
170 9957 => ['Jordan', ['00' => '39', '400' => '699', '70' => '84', '8500' => '9999' ] ],
171 9958 => ['Bosnia and Herzegovina', ['0' => '0', '10' => '49', '500' => '899', '9000' => '9999' ] ],
172 9959 => ['Libya', ['0' => '1', '20' => '79', '800' => '949', '9500' => '9999' ] ],
173 9960 => ['Saudi Arabia', ['00' => '59', '600' => '899', '9000' => '9999' ] ],
174 9961 => ['Algeria', ['0' => '2', '30' => '69', '700' => '949', '9500' => '9999' ] ],
175 9962 => ['Panama', ['00' => '54', '5500' => '5599', '56' => '59', '600' => '849', '8500' => '9999' ] ],
176 9963 => ['Cyprus', ['0' => '2', '30' => '54', '550' => '749', '7500' => '9999' ] ],
177 9964 => ['Ghana', ['0' => '6', '70' => '94', '950' => '999' ] ],
178 9965 => ['Kazakhstan', ['00' => '39', '400' => '899', '9000' => '9999' ] ],
179 9966 => ['Kenya', ['00' => '69', '7000' => '7499', '750' => '959', '9600' => '9999' ] ],
180 9967 => ['Kyrgyzstan', ['00' => '39', '400' => '899', '9000' => '9999' ] ],
181 9968 => ['Costa Rica', ['00' => '49', '500' => '939', '9400' => '9999' ] ],
182 9970 => ['Uganda', ['00' => '39', '400' => '899', '9000' => '9999' ] ],
183 9971 => ['Singapore', ['0' => '5', '60' => '89', '900' => '989', '9900' => '9999' ] ],
184 9972 => ['Peru', ['00' => '09', '1' => '1', '200' => '249', '2500' => '2999', '30' => '59', '600' => '899', '9000' => '9999' ] ],
185 9973 => ['Tunisia', ['0' => '05', '060' => '089', '0900' => '0999', '10' => '69', '700' => '969', '9700' => '9999' ] ],
186 9974 => ['Uruguay', ['0' => '2', '30' => '54', '550' => '749', '7500' => '9499', '95' => '99' ] ],
187 9975 => ['Moldova', ['0' => '0', '100' => '399', '4000' => '4499', '45' => '89', '900' => '949', '9500' => '9999' ] ],
188 9976 => ['Tanzania', ['0' => '5', '60' => '89', '900' => '989', '9990' => '9999' ] ],
189 9977 => ['Costa Rica', ['00' => '89', '900' => '989', '9900' => '9999' ] ],
190 9978 => ['Ecuador', ['00' => '29', '300' => '399', '40' => '94', '950' => '989', '9900' => '9999' ] ],
191 9979 => ['Iceland', ['0' => '4', '50' => '64', '650' => '659', '66' => '75', '760' => '899', '9000' => '9999' ] ],
192 9980 => ['Papua New Guinea', ['0' => '3', '40' => '89', '900' => '989', '9900' => '9999' ] ],
193 9981 => ['Morocco', ['00' => '09', '100' => '159', '1600' => '1999', '20' => '79', '800' => '949', '9500' => '9999' ] ],
194 9982 => ['Zambia', ['00' => '79', '800' => '989', '9900' => '9999' ] ],
195 9983 => ['Gambia', ['80' => '94', '950' => '989', '9900' => '9999' ] ],
196 9984 => ['Latvia', ['00' => '49', '500' => '899', '9000' => '9999' ] ],
197 9985 => ['Estonia', ['0' => '4', '50' => '79', '800' => '899', '9000' => '9999' ] ],
198 9986 => ['Lithuania', ['00' => '39', '400' => '899', '9000' => '9399', '940' => '969', '97' => '99' ] ],
199 9987 => ['Tanzania', ['00' => '39', '400' => '879', '8800' => '9999' ] ],
200 9988 => ['Ghana', ['0' => '2', '30' => '54', '550' => '749', '7500' => '9999' ] ],
201 9989 => ['Macedonia', ['0' => '0', '100' => '199', '2000' => '2999', '30' => '59', '600' => '949', '9500' => '9999' ] ],
202 99901 => ['Bahrain', ['00' => '49', '500' => '799', '80' => '99' ] ],
203 99902 => ['Gabon', [] ],
204 99903 => ['Mauritius', ['0' => '1', '20' => '89', '900' => '999' ] ],
205 99904 => ['Netherlands Antilles', ['0' => '5', '60' => '89', '900' => '999' ] ],
206 99905 => ['Bolivia', ['0' => '3', '40' => '79', '800' => '999' ] ],
207 99906 => ['Kuwait', ['0' => '2', '30' => '59', '600' => '699', '70' => '89', '9' => '9' ] ],
208 99908 => ['Malawi', ['0' => '0', '10' => '89', '900' => '999' ] ],
209 99909 => ['Malta', ['0' => '3', '40' => '94', '950' => '999' ] ],
210 99910 => ['Sierra Leone', ['0' => '2', '30' => '89', '900' => '999' ] ],
211 99911 => ['Lesotho', ['00' => '59', '600' => '999' ] ],
212 99912 => ['Botswana', ['0' => '3', '400' => '599', '60' => '89', '900' => '999' ] ],
213 99913 => ['Andorra', ['0' => '2', '30' => '35', '600' => '604' ] ],
214 99914 => ['Suriname', ['0' => '4', '50' => '89', '900' => '949' ] ],
215 99915 => ['Maldives', ['0' => '4', '50' => '79', '800' => '999' ] ],
216 99916 => ['Namibia', ['0' => '2', '30' => '69', '700' => '999' ] ],
217 99917 => ['Brunei Darussalam', ['0' => '2', '30' => '89', '900' => '999' ] ],
218 99918 => ['Faroe Islands', ['0' => '3', '40' => '79', '800' => '999' ] ],
219 99919 => ['Benin', ['0' => '2', '40' => '69', '900' => '999' ] ],
220 99920 => ['Andorra', ['0' => '4', '50' => '89', '900' => '999' ] ],
221 99921 => ['Qatar', ['0' => '1', '20' => '69', '700' => '799', '8' => '8', '90' => '99' ] ],
222 99922 => ['Guatemala', ['0' => '3', '40' => '69', '700' => '999' ] ],
223 99923 => ['El Salvador', ['0' => '1', '20' => '79', '800' => '999' ] ],
224 99924 => ['Nicaragua', ['0' => '1', '20' => '79', '800' => '999' ] ],
225 99925 => ['Paraguay', ['0' => '3', '40' => '79', '800' => '999' ] ],
226 99926 => ['Honduras', ['0' => '0', '10' => '59', '600' => '999' ] ],
227 99927 => ['Albania', ['0' => '2', '30' => '59', '600' => '999' ] ],
228 99928 => ['Georgia', ['0' => '0', '10' => '79', '800' => '999' ] ],
229 99929 => ['Mongolia', ['0' => '4', '50' => '79', '800' => '999' ] ],
230 99930 => ['Armenia', ['0' => '4', '50' => '79', '800' => '999' ] ],
231 99931 => ['Seychelles', ['0' => '4', '50' => '79', '800' => '999' ] ],
232 99932 => ['Malta', ['0' => '0', '10' => '59', '600' => '699', '7' => '7', '80' => '99' ] ],
233 99933 => ['Nepal', ['0' => '2', '30' => '59', '600' => '999' ] ],
234 99934 => ['Dominican Republic', ['0' => '1', '20' => '79', '800' => '999' ] ],
235 99935 => ['Haiti', ['0' => '2', '7' => '8', '30' => '59', '600' => '699', '90' => '99' ] ],
236 99936 => ['Bhutan', ['0' => '0', '10' => '59', '600' => '999' ] ],
237 99937 => ['Macau', ['0' => '1', '20' => '59', '600' => '999' ] ],
238 99938 => ['Srpska', ['0' => '1', '20' => '59', '600' => '899', '90' => '99' ] ],
239 99939 => ['Guatemala', ['0' => '5', '60' => '89', '900' => '999' ] ],
240 99940 => ['Georgia', ['0' => '0', '10' => '69', '700' => '999' ] ],
241 99941 => ['Armenia', ['0' => '2', '30' => '79', '800' => '999' ] ],
242 99942 => ['Sudan', ['0' => '4', '50' => '79', '800' => '999' ] ],
243 99943 => ['Alsbania', ['0' => '2', '30' => '59', '600' => '999' ] ],
244 99944 => ['Ethiopia', ['0' => '4', '50' => '79', '800' => '999' ] ],
245 99945 => ['Namibia', ['0' => '5', '60' => '89', '900' => '999' ] ],
246 99946 => ['Nepal', ['0' => '2', '30' => '59', '600' => '999' ] ],
247 99947 => ['Tajikistan', ['0' => '2', '30' => '69', '700' => '999' ] ],
248 99948 => ['Eritrea', ['0' => '4', '50' => '79', '800' => '999' ] ],
249 99949 => ['Mauritius', ['0' => '1', '20' => '89', '900' => '999' ] ],
250 99950 => ['Cambodia', ['0' => '4', '50' => '79', '800' => '999' ] ],
251 99951 => ['Congo', [] ],
252 99952 => ['Mali', ['0' => '4', '50' => '79', '800' => '999' ] ],
253 99953 => ['Paraguay', ['0' => '2', '30' => '79', '800' => '999' ] ],
254 99954 => ['Bolivia', ['0' => '2', '30' => '69', '700' => '999' ] ],
255 99955 => ['Srpska', ['0' => '1', '20' => '59', '600' => '899', '90' => '99' ] ],
256 99956 => ['Albania', ['00' => '59', '600' => '999' ] ],
257 99957 => ['Malta', ['0' => '1', '20' => '79', '800' => '999' ] ],
258 99958 => ['Bahrain', ['0' => '4', '50' => '94', '950' => '999' ] ],
259 99959 => ['Luxembourg', ['0' => '2', '30' => '59', '600' => '999' ] ],
260 99960 => ['Malawi', ['0' => '0', '10' => '94', '950' => '999' ] ],
75 0 => ['English speaking area' => ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9999999'] ],
76 1 => ['English speaking area' => ['00' => '09', '100' => '399', '4000' => '5499', '55000' => '86979', '869800' => '998999'] ],
77 2 => ['French speaking area' => ['00' => '19', '200' => '349', '35000' => '39999', '400' => '699', '7000' => '8399', '84000' => '89999', '900000' => '949999', '9500000' => '9999999'] ],
78 3 => ['German speaking area' => ['00' => '02', '030' => '033', '0340' => '0369', '03700' => '03999', '04' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9539999', '95400' => '96999', '9700000' => '9899999', '99000' => '99499', '99500' => '99999'] ],
79 4 => ['Japan' => ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9999999'] ],
80 5 => ['Russian Federation' => ['00' => '19', '200' => '420', '4210' => '4299', '430' => '430', '4310' => '4399', '440' => '440', '4410' => '4499', '450' => '699', '7000' => '8499', '85000' => '89999', '900000' => '909999', '91000' => '91999', '9200' => '9299', '93000' => '94999', '9500' => '9799', '98000' => '98999', '9900000' => '9909999', '9910' => '9999'] ],
81 600 => ['Iran' => ['00' => '09', '100' => '499', '5000' => '8999', '90000' => '99999'] ],
82 601 => ['Kazakhstan' => ['00' => '19', '200' => '699', '7000' => '7999', '80000' => '84999', '85' => '99'] ],
83 602 => ['Indonesia' => ['00' => '19', '200' => '799', '8000' => '9499', '95000' => '99999'] ],
84 603 => ['Saudi Arabia' => ['00' => '04', '500' => '799', '8000' => '8999', '90000' => '99999'] ],
85 604 => ['Vietnam' => ['0' => '4', '50' => '89', '900' => '979', '9800' => '9999'] ],
86 605 => ['Turkey' => ['00' => '09', '100' => '399', '4000' => '5999', '60000' => '89999'] ],
87 606 => ['Romania' => ['0' => '0', '10' => '49', '500' => '799', '8000' => '9199', '92000' => '99999'] ],
88 607 => ['Mexico' => ['00' => '39', '400' => '749', '7500' => '9499', '95000' => '99999'] ],
89 608 => ['Macedonia' => ['0' => '0', '10' => '19', '200' => '449', '4500' => '6499', '65000' => '69999', '7' => '9'] ],
90 609 => ['Lithuania' => ['00' => '39', '400' => '799', '8000' => '9499', '95000' => '99999'] ],
91 610 => ['Thailand' => ['00' => '19', '200' => '699', '7000' => '8999', '90000' => '99999'] ],
92 611 => ['Ukraine' => ['00' => '49', '500' => '699', '7000' => '8999', '90000' => '99999'] ],
93 7 => ['China, People\'s Republic' => ['00' => '09', '100' => '499', '5000' => '7999', '80000' => '89999', '900000' => '999999'] ],
94 80 => ['Czech Republic; Slovakia' => ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '999999'] ],
95 81 => ['India' => ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '999999'] ],
96 82 => ['Norway' => ['00' => '19', '200' => '699', '7000' => '8999', '90000' => '98999', '990000' => '999999'] ],
97 83 => ['Poland' => ['00' => '19', '200' => '599', '60000' => '69999', '7000' => '8499', '85000' => '89999', '900000' => '999999'] ],
98 84 => ['Spain' => ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '9000' => '9199', '920000' => '923999', '92400' => '92999', '930000' => '949999', '95000' => '96999', '9700' => '9999'] ],
99 85 => ['Brazil' => ['00' => '19', '200' => '599', '60000' => '69999', '7000' => '8499', '85000' => '89999', '900000' => '979999', '98000' => '99999'] ],
100 86 => ['Serbia and Montenegro' => ['00' => '29', '300' => '599', '6000' => '7999', '80000' => '89999', '900000' => '999999'] ],
101 87 => ['Denmark' => ['00' => '29', '400' => '649', '7000' => '7999', '85000' => '94999', '970000' => '999999'] ],
102 88 => ['Italian speaking area' => ['00' => '19', '200' => '599', '6000' => '8499', '85000' => '89999', '900000' => '949999', '95000' => '99999'] ],
103 89 => ['Korea' => ['00' => '24', '250' => '549', '5500' => '8499', '85000' => '94999', '950000' => '999999'] ],
104 90 => ['Netherlands, Belgium (Flemish)' => ['00' => '19', '200' => '499', '5000' => '6999', '70000' => '79999', '800000' => '849999', '8500' => '8999', '900000' => '909999', '940000' => '949999'] ],
105 91 => ['Sweden' => ['0' => '1', '20' => '49', '500' => '649', '7000' => '7999', '85000' => '94999', '970000' => '999999'] ],
106 92 => ['International Publishers (Unesco, EU), European Community Organizations' => ['0' => '5', '60' => '79', '800' => '899', '9000' => '9499', '95000' => '98999', '990000' => '999999'] ],
107 93 => ['India' => ['00' => '09', '100' => '499', '5000' => '7999', '80000' => '94999', '950000' => '999999'] ],
108 94 => ['Netherlands' => ['000' => '599', '6000' => '8999', '90000' => '99999'] ],
109 950 => ['Argentina' => ['00' => '49', '500' => '899', '9000' => '9899', '99000' => '99999'] ],
110 951 => ['Finland' => ['0' => '1', '20' => '54', '550' => '889', '8900' => '9499', '95000' => '99999'] ],
111 952 => ['Finland' => ['00' => '19', '200' => '499', '5000' => '5999', '60' => '65', '6600' => '6699', '67000' => '69999', '7000' => '7999', '80' => '94', '9500' => '9899', '99000' => '99999'] ],
112 953 => ['Croatia' => ['0' => '0', '10' => '14', '150' => '549', '55000' => '59999', '6000' => '9499', '95000' => '99999'] ],
113 954 => ['Bulgaria' => ['00' => '29', '300' => '799', '8000' => '8999', '90000' => '92999', '9300' => '9999'] ],
114 955 => ['Sri Lanka' => ['0000' => '0999', '1000' => '1999', '20' => '54', '550' => '799', '8000' => '9499', '95000' => '99999'] ],
115 956 => ['Chile' => ['00' => '19', '200' => '699', '7000' => '9999'] ],
116 957 => ['Taiwan, China' => ['00' => '02', '0300' => '0499', '05' => '19', '2000' => '2099', '21' => '27', '28000' => '30999', '31' => '43', '440' => '819', '8200' => '9699', '97000' => '99999'] ],
117 958 => ['Colombia' => ['00' => '56', '57000' => '59999', '600' => '799', '8000' => '9499', '95000' => '99999'] ],
118 959 => ['Cuba' => ['00' => '19', '200' => '699', '7000' => '8499'] ],
119 960 => ['Greece' => ['00' => '19', '200' => '659', '6600' => '6899', '690' => '699', '7000' => '8499', '85000' => '99999'] ],
120 961 => ['Slovenia' => ['00' => '19', '200' => '599', '6000' => '8999', '90000' => '94999'] ],
121 962 => ['Hong Kong' => ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '86999', '8700' => '8999', '900' => '999'] ],
122 963 => ['Hungary' => ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '9000' => '9999'] ],
123 964 => ['Iran' => ['00' => '14', '150' => '249', '2500' => '2999', '300' => '549', '5500' => '8999', '90000' => '96999', '970' => '989', '9900' => '9999'] ],
124 965 => ['Israel' => ['00' => '19', '200' => '599', '7000' => '7999', '90000' => '99999'] ],
125 966 => ['Ukraine' => ['00' => '14', '1500' => '1699', '170' => '199', '2000' => '2999', '300' => '699', '7000' => '8999', '90000' => '99999'] ],
126 967 => ['Malaysia' => ['00' => '29', '300' => '499', '5000' => '5999', '60' => '89', '900' => '989', '9900' => '9989', '99900' => '99999'] ],
127 968 => ['Mexico' => ['01' => '39', '400' => '499', '5000' => '7999', '800' => '899', '9000' => '9999'] ],
128 969 => ['Pakistan' => ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999'] ],
129 970 => ['Mexico' => ['01' => '59', '600' => '899', '9000' => '9099', '91000' => '96999', '9700' => '9999'] ],
130 971 => ['Philippines' => ['000' => '019', '02' => '02', '0300' => '0599', '06' => '09', '10' => '49', '500' => '849', '8500' => '9099', '91000' => '99999'] ],
131 972 => ['Portugal' => ['0' => '1', '20' => '54', '550' => '799', '8000' => '9499', '95000' => '99999'] ],
132 973 => ['Romania' => ['0' => '0', '100' => '169', '1700' => '1999', '20' => '54', '550' => '759', '7600' => '8499', '85000' => '88999', '8900' => '9499', '95000' => '99999'] ],
133 974 => ['Thailand' => ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '90000' => '94999', '9500' => '9999'] ],
134 975 => ['Turkey' => ['00000' => '00999', '01' => '24', '250' => '599', '6000' => '9199', '92000' => '98999', '990' => '999'] ],
135 976 => ['Caribbean Community' => ['0' => '3', '40' => '59', '600' => '799', '8000' => '9499', '95000' => '99999'] ],
136 977 => ['Egypr' => ['00' => '19', '200' => '499', '5000' => '6999', '700' => '999'] ],
137 978 => ['Nigeria' => ['000' => '199', '2000' => '2999', '30000' => '79999', '8000' => '8999', '900' => '999'] ],
138 979 => ['Indonesia' => ['000' => '099', '1000' => '1499', '15000' => '19999', '20' => '29', '3000' => '3999', '400' => '799', '8000' => '9499', '95000' => '99999'] ],
139 980 => ['Venezuela' => ['00' => '19', '200' => '599', '6000' => '9999'] ],
140 981 => ['Singapore' => ['00' => '11', '120' => '299', '3000' => '9999'] ],
141 982 => ['South Pacific' => ['00' => '09', '100' => '699', '70' => '89', '9000' => '9999'] ],
142 983 => ['Malaysia' => ['00' => '01', '020' => '199', '2000' => '3999', '40000' => '44999', '45' => '49', '50' => '79', '800' => '899', '9000' => '9899', '99000' => '99999'] ],
143 984 => ['Bangladesh' => ['00' => '39', '400' => '799', '8000' => '8999', '90000' => '99999'] ],
144 985 => ['Belarus' => ['00' => '39', '400' => '599', '6000' => '8999', '90000' => '99999'] ],
145 986 => ['Taiwan, China' => ['00' => '11', '120' => '559', '5600' => '7999', '80000' => '99999'] ],
146 987 => ['Argentina' => ['00' => '09', '1000' => '1999', '20000' => '29999', '30' => '49', '500' => '899', '9000' => '9499', '95000' => '99999'] ],
147 988 => ['Hongkong' => ['00' => '16', '17000' => '19999', '200' => '799', '8000' => '9699', '97000' => '99999'] ],
148 989 => ['Portugal' => ['0' => '1', '20' => '54', '550' => '799', '8000' => '9499', '95000' => '99999'] ],
149 9933 => ['Syria' => ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
150 9934 => ['Latvia' => ['0' => '0', '10' => '49', '500' => '799', '8000' => '9999'] ],
151 9935 => ['Iceland' => ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
152 9936 => ['Afghanistan' => ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999'] ],
153 9937 => ['Nepal' => ['0' => '2', '30' => '49', '500' => '799', '8000' => '9999'] ],
154 9938 => ['Tunisia' => ['00' => '79', '800' => '949', '9500' => '9999'] ],
155 9939 => ['Armenia' => ['0' => '4', '50' => '79', '800' => '899', '9000' => '9999'] ],
156 9940 => ['Montenegro' => ['0' => '1', '20' => '49', '500' => '899', '9000' => '9999'] ],
157 9941 => ['Georgia' => ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
158 9942 => ['Ecuador' => ['00' => '89', '900' => '994', '9950' => '9999'] ],
159 9943 => ['Uzbekistan' => ['00' => '29', '300' => '399', '4000' => '9999'] ],
160 9944 => ['Turkey' => ['0' => '2', '300' => '499', '5000' => '5999', '60' => '89', '900' => '999'] ],
161 9945 => ['Dominican Republic' => ['00' => '00', '010' => '079', '08' => '39', '400' => '569', '57' => '57', '580' => '849', '8500' => '9999'] ],
162 9946 => ['Korea, P.D.R.' => ['0' => '1', '20' => '39', '400' => '899', '9000' => '9999'] ],
163 9947 => ['Algeria' => ['0' => '1', '20' => '79', '800' => '999'] ],
164 9948 => ['United Arab Emirates' => ['00' => '39', '400' => '849', '8500' => '9999'] ],
165 9949 => ['Estonia' => ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
166 9950 => ['Palestine' => ['00' => '29', '300' => '840', '8500' => '9999'] ],
167 9951 => ['Kosova' => ['00' => '39', '400' => '849', '8500' => '9999'] ],
168 9952 => ['Azerbaijan' => ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999'] ],
169 9953 => ['Lebanon' => ['0' => '0', '10' => '39', '400' => '599', '60' => '89', '9000' => '9999'] ],
170 9954 => ['Morocco' => ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999'] ],
171 9955 => ['Lithuania' => ['00' => '39', '400' => '929', '9300' => '9999'] ],
172 9956 => ['Cameroon' => ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
173 9957 => ['Jordan' => ['00' => '39', '400' => '699', '70' => '84', '8500' => '9999'] ],
174 9958 => ['Bosnia and Herzegovina' => ['0' => '0', '10' => '49', '500' => '899', '9000' => '9999'] ],
175 9959 => ['Libya' => ['0' => '1', '20' => '79', '800' => '949', '9500' => '9999'] ],
176 9960 => ['Saudi Arabia' => ['00' => '59', '600' => '899', '9000' => '9999'] ],
177 9961 => ['Algeria' => ['0' => '2', '30' => '69', '700' => '949', '9500' => '9999'] ],
178 9962 => ['Panama' => ['00' => '54', '5500' => '5599', '56' => '59', '600' => '849', '8500' => '9999'] ],
179 9963 => ['Cyprus' => ['0' => '2', '30' => '54', '550' => '749', '7500' => '9999'] ],
180 9964 => ['Ghana' => ['0' => '6', '70' => '94', '950' => '999'] ],
181 9965 => ['Kazakhstan' => ['00' => '39', '400' => '899', '9000' => '9999'] ],
182 9966 => ['Kenya' => ['000' => '199', '20' => '69', '7000' => '7499', '750' => '959', '9600' => '9999'] ],
183 9967 => ['Kyrgyzstan' => ['00' => '39', '400' => '899', '9000' => '9999'] ],
184 9968 => ['Costa Rica' => ['00' => '49', '500' => '939', '9400' => '9999'] ],
185 9970 => ['Uganda' => ['00' => '39', '400' => '899', '9000' => '9999'] ],
186 9971 => ['Singapore' => ['0' => '5', '60' => '89', '900' => '989', '9900' => '9999'] ],
187 9972 => ['Peru' => ['00' => '09', '1' => '1', '200' => '249', '2500' => '2999', '30' => '59', '600' => '899', '9000' => '9999'] ],
188 9973 => ['Tunisia' => ['00' => '05', '060' => '089', '0900' => '0999', '10' => '69', '700' => '969', '9700' => '9999'] ],
189 9974 => ['Uruguay' => ['0' => '2', '30' => '54', '550' => '749', '7500' => '9499', '95' => '99'] ],
190 9975 => ['Moldova' => ['0' => '0', '100' => '399', '4000' => '4499', '45' => '89', '900' => '949', '9500' => '9999'] ],
191 9976 => ['Tanzania' => ['0' => '5', '60' => '89', '900' => '989', '9990' => '9999'] ],
192 9977 => ['Costa Rica' => ['00' => '89', '900' => '989', '9900' => '9999'] ],
193 9978 => ['Ecuador' => ['00' => '29', '300' => '399', '40' => '94', '950' => '989', '9900' => '9999'] ],
194 9979 => ['Iceland' => ['0' => '4', '50' => '64', '650' => '659', '66' => '75', '760' => '899', '9000' => '9999'] ],
195 9980 => ['Papua New Guinea' => ['0' => '3', '40' => '89', '900' => '989', '9900' => '9999'] ],
196 9981 => ['Morocco' => ['00' => '09', '100' => '159', '1600' => '1999', '20' => '79', '800' => '949', '9500' => '9999'] ],
197 9982 => ['Zambia' => ['00' => '79', '800' => '989', '9900' => '9999'] ],
198 9983 => ['Gambia' => ['80' => '94', '950' => '989', '9900' => '9999'] ],
199 9984 => ['Latvia' => ['00' => '49', '500' => '899', '9000' => '9999'] ],
200 9985 => ['Estonia' => ['0' => '4', '50' => '79', '800' => '899', '9000' => '9999'] ],
201 9986 => ['Lithuania' => ['00' => '39', '400' => '899', '9000' => '9399', '940' => '969', '97' => '99'] ],
202 9987 => ['Tanzania' => ['00' => '39', '400' => '879', '8800' => '9999'] ],
203 9988 => ['Ghana' => ['0' => '2', '30' => '54', '550' => '749', '7500' => '9999'] ],
204 9989 => ['Macedonia' => ['0' => '0', '100' => '199', '2000' => '2999', '30' => '59', '600' => '949', '9500' => '9999'] ],
205 99901 => ['Bahrain' => ['00' => '49', '500' => '799', '80' => '99'] ],
206 99902 => ['Gabon' => [] ],
207 99903 => ['Mauritius' => ['0' => '1', '20' => '89', '900' => '999'] ],
208 99904 => ['Netherlands Antilles; Aruba, Neth. Ant' => ['0' => '5', '60' => '89', '900' => '999'] ],
209 99905 => ['Bolivia' => ['0' => '3', '40' => '79', '800' => '999'] ],
210 99906 => ['Kuwait' => ['0' => '2', '30' => '59', '600' => '699', '70' => '89', '9' => '9'] ],
211 99908 => ['Malawi' => ['0' => '0', '10' => '89', '900' => '999'] ],
212 99909 => ['Malta' => ['0' => '3', '40' => '94', '950' => '999'] ],
213 99910 => ['Sierra Leone' => ['0' => '2', '30' => '89', '900' => '999'] ],
214 99911 => ['Lesotho' => ['00' => '59', '600' => '999'] ],
215 99912 => ['Botswana' => ['0' => '3', '400' => '599', '60' => '89', '900' => '999'] ],
216 99913 => ['Andorra' => ['0' => '2', '30' => '35', '600' => '604'] ],
217 99914 => ['Suriname' => ['0' => '4', '50' => '89', '900' => '949'] ],
218 99915 => ['Maldives' => ['0' => '4', '50' => '79', '800' => '999'] ],
219 99916 => ['Namibia' => ['0' => '2', '30' => '69', '700' => '999'] ],
220 99917 => ['Brunei Darussalam' => ['0' => '2', '30' => '89', '900' => '999'] ],
221 99918 => ['Faroe Islands' => ['0' => '3', '40' => '79', '800' => '999'] ],
222 99919 => ['Benin' => ['0' => '2', '300' => '399', '40' => '69', '900' => '999'] ],
223 99920 => ['Andorra' => ['0' => '4', '50' => '89', '900' => '999'] ],
224 99921 => ['Qatar' => ['0' => '1', '20' => '69', '700' => '799', '8' => '8', '90' => '99'] ],
225 99922 => ['Guatemala' => ['0' => '3', '40' => '69', '700' => '999'] ],
226 99923 => ['El Salvador' => ['0' => '1', '20' => '79', '800' => '999'] ],
227 99924 => ['Nicaragua' => ['0' => '1', '20' => '79', '800' => '999'] ],
228 99925 => ['Paraguay' => ['0' => '3', '40' => '79', '800' => '999'] ],
229 99926 => ['Honduras' => ['0' => '0', '10' => '59', '600' => '999'] ],
230 99927 => ['Albania' => ['0' => '2', '30' => '59', '600' => '999'] ],
231 99928 => ['Georgia' => ['0' => '0', '10' => '79', '800' => '999'] ],
232 99929 => ['Mongolia' => ['0' => '4', '50' => '79', '800' => '999'] ],
233 99930 => ['Armenia' => ['0' => '4', '50' => '79', '800' => '999'] ],
234 99931 => ['Seychelles' => ['0' => '4', '50' => '79', '800' => '999'] ],
235 99932 => ['Malta' => ['0' => '0', '10' => '59', '600' => '699', '7' => '7', '80' => '99'] ],
236 99933 => ['Nepal' => ['0' => '2', '30' => '59', '600' => '999'] ],
237 99934 => ['Dominican Republic' => ['0' => '1', '20' => '79', '800' => '999'] ],
238 99935 => ['Haiti' => ['0' => '2', '7' => '8', '30' => '59', '600' => '699', '90' => '99'] ],
239 99936 => ['Bhutan' => ['0' => '0', '10' => '59', '600' => '999'] ],
240 99937 => ['Macau' => ['0' => '1', '20' => '59', '600' => '999'] ],
241 99938 => ['Srpska' => ['0' => '1', '20' => '59', '600' => '899', '90' => '99'] ],
242 99939 => ['Guatemala' => ['0' => '5', '60' => '89', '900' => '999'] ],
243 99940 => ['Georgia' => ['0' => '0', '10' => '69', '700' => '999'] ],
244 99941 => ['Armenia' => ['0' => '2', '30' => '79', '800' => '999'] ],
245 99942 => ['Sudan' => ['0' => '4', '50' => '79', '800' => '999'] ],
246 99943 => ['Alsbania' => ['0' => '2', '30' => '59', '600' => '999'] ],
247 99944 => ['Ethiopia' => ['0' => '4', '50' => '79', '800' => '999'] ],
248 99945 => ['Namibia' => ['0' => '5', '60' => '89', '900' => '999'] ],
249 99946 => ['Nepal' => ['0' => '2', '30' => '59', '600' => '999'] ],
250 99947 => ['Tajikistan' => ['0' => '2', '30' => '69', '700' => '999'] ],
251 99948 => ['Eritrea' => ['0' => '4', '50' => '79', '800' => '999'] ],
252 99949 => ['Mauritius' => ['0' => '1', '20' => '89', '900' => '999'] ],
253 99950 => ['Cambodia' => ['0' => '4', '50' => '79', '800' => '999'] ],
254 99951 => ['Congo' => [] ],
255 99952 => ['Mali' => ['0' => '4', '50' => '79', '800' => '999'] ],
256 99953 => ['Paraguay' => ['0' => '2', '30' => '79', '800' => '999'] ],
257 99954 => ['Bolivia' => ['0' => '2', '30' => '69', '700' => '999'] ],
258 99955 => ['Srpska' => ['0' => '1', '20' => '59', '600' => '899', '90' => '99'] ],
259 99956 => ['Albania' => ['00' => '59', '600' => '999'] ],
260 99957 => ['Malta' => ['0' => '1', '20' => '79', '800' => '999'] ],
261 99958 => ['Bahrain' => ['0' => '4', '50' => '94', '950' => '999'] ],
262 99959 => ['Luxembourg' => ['0' => '2', '30' => '59', '600' => '999'] ],
263 99960 => ['Malawi' => ['0' => '0', '10' => '94', '950' => '999'] ],
264 99961 => ['El Salvador' => ['0' => '3', '40' => '89', '900' => '999'] ],
261265 );
262266
263267 # i cheat a little bit here. i know that that the max length is
00 --- #YAML:1.0
1 name: Business-ISBN-Data
2 version: 20081020
3 abstract: Data pack for Business::ISBN
4 license: perl
5 author:
1 name: Business-ISBN-Data
2 version: 20081208
3 abstract: Data pack for Business::ISBN
4 author:
65 - brian d foy <bdfoy@cpan.org>
7 generated_by: ExtUtils::MakeMaker version 6.44
8 distribution_type: module
9 requires:
10 Test::More: 0
6 license: perl
7 distribution_type: module
8 configure_requires:
9 ExtUtils::MakeMaker: 0
10 requires:
11 Test::More: 0
12 no_index:
13 directory:
14 - t
15 - inc
16 generated_by: ExtUtils::MakeMaker version 6.48
1117 meta-spec:
12 url: http://module-build.sourceforge.net/META-spec-v1.3.html
13 version: 1.3
18 url: http://module-build.sourceforge.net/META-spec-v1.4.html
19 version: 1.4
0 #!/usr/bin/perl
0 #!/usr/local/bin/perl5.10.0
1 use 5.010;
12
2 use Business::ISBN::Data;
3 use strict;
4 use warnings;
35
4 # I use the old data to grab the country names
5 # If there are new country prefixes, I just look them up
6 # and manually add them
7 # http://www.isbn-international.org/en/identifiers/allidentifiers.html
8 my %country_data = %Business::ISBN::country_data;
6 use LWP::Simple;
97
10 # I collect the updated data in this hash
11 my %new_hash = ();
8 my $js_url = 'http://www.isbn-international.org/converter/ranges.js';
9 my $js_data = get( $js_url );
10 die "Could not fetch $js_url!" unless defined $js_data;
1211
13 while( <DATA> )
12 $js_data =~ s|.*?// \s+ ID \s+ List: \s+||s;
13
14 my @keys = qw(text ranges);
15 my %data;
16
17 while( $js_data =~
18 /
19 ^gi\.area(?<group>\d+)\.text \s* = \s* "(?<text>.*?)" ;? [\r\n]+
20 ^gi\.area(\1)\.pubrange \s* = \s* "(?<ranges>.*?)" ;? [\r\n]+
21 /gmx
22 )
1423 {
15 chomp;
16 s/^\s+|\s+$//g;
17 s/-//g; # the data is dirty and some hyphens appear. Trash them.
18
19 # there should be a triplet, but the odd case has two numbers
20 # meaning the range is a pseudo range, i.e. 0 to 0. In that
21 # case, make the second number the same as the first. perl
22 # won't care.
23 my( $country, $first, $second ) = split /\s+/;
24 $second ||= $first;
25
26 my $name = $country_data{ $country };
27 # some prefixes may be new. Go back and add them by hand
28 # later
29 # http://www.isbn-international.org/en/identifiers/allidentifiers.html
30 warn "Code $country does not have a name [$name]!\n"
31 unless $name;
32
33 # If the strings (which you only think are numbers)
34 # start with a 0, then we need to quote them so perl
35 # doesn't think they are bad octal numbers, i.e. '09'
36 # We treat them all as strings, although we cheat a
37 # bit so our eyes don't cross: only quote when we have to.
38 $first = "'$first'" if $first =~ /^0/;
39 $second = "'$second'" if $second =~ /^0/;
40
41
42 $new_hash{ $country } ||= [];
43
44 push @{ $new_hash{ $country } }, [$first, $second];
24 @{ $data{ $+{group} } }{ @keys } = @+{ @keys };
4525 }
4626
47 # If you read this comment and tell me so by emailing me, I'll
48 # buy you beer (although I get to choose the quantity).
27 foreach my $group ( sort keys %data )
28 {
29 my $empty = $data{$group}{text} =~ s/\s+-\s+no ranges fixed yet\s*//;
30 my $text = $data{$group}{text};
31
32 $text =~ s/'/\\'/g;
33
34 printf "%-5s => [%s => [",
35 $group,
36 qq|'$text'|;
37 ;
38
39 if( $empty )
40 {
41 print "] ],\n";
42 next;
43 }
4944
50 foreach my $key ( sort { $a <=> $b } keys %new_hash )
51 {
52 my $array = $new_hash{ $key };
53 my $name = $country_data{ $key }[0];
45 my @ranges =
46 map {
47 if( /-/ ) { map { qq|'$_'| } split /-/, $_ }
48 else { qq|'$_'|, qq|'$_'| }
49 }
50 split /;/, $data{$group}{ranges};
51 warn "Odd number of ranges for $text!\n" if @ranges % 2;
52
53 foreach my $i ( 0 .. $#ranges - 1 )
54 {
55 print $ranges[$i], ( " => ", ", " )[$i % 2];
56 }
57 print $ranges[-1], "] ],\n";
58 }
5459
55 # 26 is a magic number I just know. I counted the
56 # characters between the start of the country name and
57 # the start of the array that holds the publisher ranges in
58 # the data structure representation. 26 makes everything
59 # line up nicely.
60 my $l = 26 - length $name;
61
62 # join ranges with a fat arrow, =>.
63 my @pairs = map { "$_->[0] => $_->[1]" } @$array;
64
65 my $pairs = join ", ", @pairs;
66
67 printf "%5d => [ '%s',%${l}s[ %s ] ],\n", $key, $name, " ", $pairs;
68
69 }
70
71 # For this data, i grabbed the prefix ranges as a PDF
72 # http://www.isbn-international.org/en/identifiers/List-of-Ranges.pdf
73 # I opened it by hand, selected all the text, and pasted it here.
74 # I did a little clean-up, and that's it. I could automate this,
75 # but I don't think it would save any time. The bug fixes and
76 # clean-up would take longer than doing it by hand.
77
78 __END__
79 0 00 19
80 0 200 699
81 0 7000 8499
82 0 85000 89999
83 0 900000 949999
84 0 9500000 9999999
85 1 00 09
86 1 100 399
87 1 4000 5499
88 1 55000 86979
89 1 869800 998999
90 2 00 19
91 2 200 349
92 2 35000 39999
93 2 400 699
94 2 7000 8399
95 2 84000 89999
96 2 900000 949999
97 2 9500000 9999999
98 3 00 02
99 3 030 033
100 3 0340 0369
101 3 03700 03999
102 3 04 19
103 3 200 699
104 3 7000 8499
105 3 85000 89999
106 3 900000 949999
107 3 9500000 9999999
108 4 00 19
109 4 200 699
110 4 7000 8499
111 4 85000 89999
112 4 900000 949999
113 4 9500000 9999999
114 5 00 19
115 5 200 699
116 5 7000 8499
117 5 85000 89999
118 5 900000 909999
119 5 91000 91999
120 5 9200 9299
121 5 93000 94999
122 5 9500 9799
123 5 98000 98999
124 5 9900000 9999999
125 7 00 09
126 7 100 499
127 7 5000 7999
128 7 80000 89999
129 7 900000 999999
130 80 00 19
131 80 200 699
132 80 7000 8499
133 80 85000 89999
134 80 900000 999999
135 81 00 19
136 81 200 699
137 81 7000 8499
138 81 85000 89999
139 81 900000 999999
140 82 00 19
141 82 200 699
142 82 7000 8999
143 82 90000 98999
144 82 990000 999999
145 83 00 19
146 83 200 599
147 83 60000 69999
148 83 7000 8499
149 83 85000 89999
150 83 900000 999999
151 84 00 19
152 84 200 699
153 84 7000 8499
154 84 85000 89999
155 84 9000 9199
156 84 920000 923999
157 84 92400 92999
158 84 930000 949999
159 84 95000 96999
160 84 9700 9999
161 85 00 19
162 85 200 699
163 85 7000 8499
164 85 85000 89999
165 85 900000 979999
166 85 98000 99999
167 86 00 29
168 86 300 699
169 86 7000 7999
170 86 80000 89999
171 86 900000 999999
172 87 00 29
173 87 400 649
174 87 7000 7999
175 87 85000 94999
176 87 970000 999999
177 88 00 19
178 88 200 599
179 88 6000 8499
180 88 85000 89999
181 88 900000 999999
182 89 00 24
183 89 250 549
184 89 5500 8499
185 89 85000 94999
186 89 950000 999999
187 90 00 19
188 90 200 499
189 90 5000 6999
190 90 70000 79999
191 90 800000 849999
192 90 8500 8999
193 90 900000 909999
194 90 940000 949999
195 91 0 1
196 91 20 49
197 91 500 649
198 91 7000 7999
199 91 85000 94999
200 91 970000 999999
201 92 0 - 5
202 92 60 - 79
203 92 800 - 899
204 92 9000 - 9499
205 92 95000 - 98999
206 92 990000 - 999999
207 950 00 49
208 950 500 899
209 950 9000 9899
210 950 99000 99999
211 951 0 1
212 951 20 54
213 951 550 889
214 951 8900 9499
215 951 95000 99999
216 952 00 19
217 952 200 499
218 952 5000 5999
219 952 60 65
220 952 6600 6699
221 952 67000 69999
222 952 7000 7999
223 952 89 94
224 952 9500 9899
225 952 99000 99999
226 953 0 0
227 953 10 14
228 953 150 599
229 953 6000 9499
230 953 95000 99999
231 954 00 29
232 954 300 799
233 954 8000 8999
234 954 90000 92999
235 954 9300 9999
236 955 0
237 955 1000 1999
238 955 20 54
239 955 550 799
240 955 8000 9499
241 955 95000 99999
242 956 00 19
243 956 200 699
244 956 7000 9999
245 957 00 02
246 957 0300 0499
247 957 05 19
248 957 2000 2099
249 957 21 27
250 957 28000 30999
251 957 31 43
252 957 440 819
253 957 8200 9699
254 957 97000 99999
255 958 00 59
256 958 600 799
257 958 8000 9499
258 958 95000 99999
259 959 00 19
260 959 200 699
261 959 7000 8499
262 960 00 19
263 960 200 659
264 960 6600 6899
265 960 690 699
266 960 7000 8499
267 960 85000 99999
268 961 00 19
269 961 200 599
270 961 6000 8999
271 961 90000 94999
272 962 00 19
273 962 200 699
274 962 7000 8499
275 962 85000 86999
276 962 8700 8999
277 962 900 999
278 963 00 19
279 963 200 699
280 963 7000 8499
281 963 85000 89999
282 963 9000 9999
283 964 00 29
284 964 300 549
285 964 5500 8999
286 964 90000 99999
287 965 00 19
288 965 200 599
289 965 7000 7999
290 965 90000 99999
291 966 00 29
292 966 300 699
293 966 7000 8999
294 966 90000 99999
295 967 0 5
296 967 60 89
297 967 900 989
298 967 9900 9989
299 967 99900 99999
300 968 01 39
301 968 400 499
302 968 5000 7999
303 968 800 899
304 969 0 1
305 969 20 39
306 969 400 799
307 969 8000 9999
308 970 01 59
309 970 600 899
310 970 9000 9099
311 970 91000 96999
312 970 9700 9999
313 971 000 019
314 971 02 02
315 971 0300 0599
316 971 06 09
317 971 10 49
318 971 500 849
319 971 8500 9099
320 971 91000 99999
321 972 0 1
322 972 20 54
323 972 550 799
324 972 8000 9499
325 972 95000 99999
326 973 0 1
327 973 20 54
328 973 550 769
329 973 7700 8499
330 973 85000 89999
331 973 9000 9499
332 973 95000 99999
333 974 00 19
334 974 200 699
335 974 7000 8499
336 974 85000 89999
337 974 90000 94999
338 974 9500 9999
339 975 00 24
340 975 250 599
341 975 6000 9199
342 975 92000 98999
343 976 0 3
344 976 40 59
345 976 600 799
346 976 8000 9499
347 976 95000 99999
348 977 00 19
349 977 200 499
350 977 5000 6999
351 977 700 999
352 978 000 199
353 978 2000 2999
354 978 30000 79999
355 978 8000 8999
356 978 900 999
357 979 0 0
358 979 20 29
359 979 3000 3999
360 979 400 799
361 979 8000 9499
362 979 95000 99999
363 980 00 19
364 980 200 599
365 980 6000 9999
366 981 00 19
367 981 200 299
368 981 3000 9999
369 982 00 09
370 982 100 699
371 982 70 89
372 982 9000 9999
373 983 00 01
374 983 020 199
375 983 2000 3999
376 983 40000 49999
377 983 50 79
378 983 800 899
379 983 9000 9899
380 983 99000 99999
381 984 00 39
382 984 400 799
383 984 8000 8999
384 984 90000 99999
385 985 00 39
386 985 400 599
387 985 6000 8999
388 985 90000 99999
389 986 00 11
390 986 120 559
391 986 5600 7999
392 986 80000 99999
393 987 00 09
394 987 1000 1999
395 987 20000 29999
396 987 30 49
397 987 500 899
398 987 9000 9499
399 987 95000 99999
400 988 00 19
401 988 200 799
402 988 8000 9699
403 988 97000 99999
404 989 0 1
405 989 20 54
406 989 550 799
407 989 8000 9499
408 989 95000 99999
409 9945 00 39
410 9945 400 849
411 9945 8500 9999
412 9946 0 1
413 9946 20 39
414 9946 400 899
415 9946 9000 9999
416 9947 0 1
417 9947 20 79
418 9947 800 999
419 9948 00 39
420 9948 400 849
421 9948 8500 9999
422 9949 0 0
423 9949 10 39
424 9949 400 899
425 9949 9000 9999
426 9950
427 9951 00 39
428 9951 400 849
429 9951 8500 9999
430 9952 0 1
431 9952 20 39
432 9952 400 799
433 9952 8000 9999
434 9953 0 0
435 9953 10 39
436 9953 400 599
437 9953 60 89
438 9953 9000 9999
439 9954 0 1
440 9954 20 39
441 9954 400 799
442 9954 8000 9999
443 9955 00 39
444 9955 400 929
445 9955 9300 9999
446 9956 0 0
447 9956 10 39
448 9956 400 899
449 9956 9000 9999
450 9957 00 39
451 9957 400 849
452 9957 8500 9999
453 9958 0 0
454 9958 10 49
455 9958 500 899
456 9958 9000 9999
457 9959 0 1
458 9959 20 79
459 9959 800 949
460 9959 9500 9999
461 9960 00 59
462 9960 600 899
463 9960 9000 9999
464 9961 0 2
465 9961 30 69
466 9961 700 949
467 9961 9500 9999
468 9962 00 54
469 9962 5500 5599
470 9962 56 59
471 9962 600 849
472 9962 8500 9999
473 9963 0 2
474 9963 30 54
475 9963 550 749
476 9963 7500 9999
477 9964 0 6
478 9964 70 94
479 9964 950 999
480 9965 00 39
481 9965 400 899
482 9965 9000 9999
483 9966 00 69
484 9966 7000 7499
485 9966 750 959
486 9966 9600 9999
487 9967 00 39
488 9967 400 899
489 9967 9000 9999
490 9968 00 49
491 9968 500 939
492 9968 9400 9999
493 9970 00 39
494 9970 400 899
495 9970 9000 9999
496 9971 0 5
497 9971 60 89
498 9971 900 989
499 9971 9900 9999
500 9972 00 09
501 9972 1
502 9972 200 249
503 9972 2500 2999
504 9972 30 59
505 9972 600 899
506 9972 9000 9999
507 9973 0 0
508 9973 10 69
509 9973 700 969
510 9973 9700 9999
511 9974 0 2
512 9974 30 54
513 9974 550 749
514 9974 7500 9499
515 9974 95 99
516 9975 0 4
517 9975 50 89
518 9975 900 949
519 9975 9500 9999
520 9976 0 5
521 9976 60 89
522 9976 900 989
523 9976 9990 9999
524 9977 00 89
525 9977 900 989
526 9977 9900 9999
527 9978 00 29
528 9978 300 399
529 9978 40 94
530 9978 950 989
531 9978 9900 9999
532 9979 0 4
533 9979 50 75
534 9979 760 899
535 9979 9000 9999
536 9980 0 3
537 9980 40 89
538 9980 900 989
539 9980 9900 9999
540 9981 00 09
541 9981 100 159
542 9981 1600 1999
543 9981 20 79
544 9981 800 949
545 9981 9500 9999
546 9982 00 79
547 9982 800 889
548 9982 9900 9999
549 9983 80 94
550 9983 950 989
551 9983 9900 9999
552 9984 00 49
553 9984 500 899
554 9984 9000 9999
555 9985 0 4
556 9985 50 79
557 9985 800 899
558 9985 9000 9999
559 9986 00 39
560 9986 400 899
561 9986 9000 9399
562 9986 940 969
563 9986 97 99
564 9987 00 39
565 9987 400 879
566 9987 8800 9999
567 9988 0 2
568 9988 30 54
569 9988 550 749
570 9988 7500 9999
571 9989 0 0
572 9989 100 199
573 9989 2000 2999
574 9989 30 59
575 9989 600 949
576 9989 9500 9999
577 99901 00 49
578 99901 500 799
579 99901 80 99
580 99903 0 1
581 99903 20 89
582 99903 900 999
583 99904 0 5
584 99904 60 89
585 99904 900 999
586 99905 0 3
587 99905 40 79
588 99905 800 999
589 99906 0 2
590 99906 30 59
591 99906 600 999
592 99908 0 0
593 99908 10 89
594 99908 900 999
595 99909 0 3
596 99909 40 94
597 99909 950 999
598 99910 0 2
599 99910 30 89
600 99910 900 999
601 99911 00 59
602 99911 600 999
603 99912 0 4
604 99912 500 599
605 99912 60 89
606 99912 900 999
607 99913 0 2
608 99913 30 35
609 99913 600 604
610 99914 0 4
611 99914 50 89
612 99914 900 949
613 99915 0 4
614 99915 50 79
615 99915 800 999
616 99916 0 2
617 99916 30 69
618 99916 700 999
619 99917 0 2
620 99917 30 89
621 99917 900 999
622 99918 0 3
623 99918 40 89
624 99918 900 999
625 99919 0 2
626 99919 40 69
627 99919 900 999
628 99920 0 4
629 99920 50 89
630 99920 900 999
631 99921 0 1
632 99921 20 69
633 99921 700 799
634 99921 8 8
635 99921 90 99
636 99922 0 3
637 99922 40 69
638 99922 700 999
639 99923 0 1
640 99923 20 79
641 99923 800 999
642 99924 0 2
643 99924 30 79
644 99924 800 900
645 99925 0 3
646 99925 40 79
647 99925 800 999
648 99926 0 0
649 99926 10 59
650 99926 600 999
651 99927 0 2
652 99927 30 59
653 99927 600 999
654 99928 0 0
655 99928 10 79
656 99928 800 999
657 99929
658 99930 0 4
659 99930 50 79
660 99930 800 999
661 99931 0 4
662 99931 50 79
663 99931 800 999
664 99932 0 0
665 99932 10 59
666 99932 600 699
667 99932 7 7
668 99932 80 99
669 99933 0 2
670 99933 30 59
671 99933 600 999
672 99934 0 1
673 99934 20 79
674 99934 800 999
675 99935 0 2
676 99935 30 59
677 99935 600 799
678 99935 8
679 99935 90 99
680 99936 0 0
681 99936 10 59
682 99936 600 999
683 99937 0 1
684 99937 20 59
685 99937 600 999
686 99938 0 2
687 99938 30 59
688 99938 600 999
689 99939 0 5
690 99939 60 89
691 99939 900 999
692 99940 0 0
693 99940 10 69
694 99940 700 999
695 99941 0 2
696 99941 30 89
697 99941 900 999
698 99942 0 4
699 99942 50 79
700 99942 800 999
701 99943 0 2
702 99943 30 59
703 99943 600 999
704 99944 0 4
705 99944 50 79
706 99944 800 999
707 99946 0 2
708 99946 30 59
709 99946 600 999
60 # 0 => ['English', ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9999999' ] ],