File Coverage

blib/lib/Number/Phone/StubCountry/BY.pm
Criterion Covered Total %
statement 20 20 100.0
branch 3 4 75.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 29 30 96.6


line stmt bran cond sub pod time code
1             # automatically generated file, don't edit
2              
3              
4              
5             # Copyright 2023 David Cantrell, derived from data from libphonenumber
6             # http://code.google.com/p/libphonenumber/
7             #
8             # Licensed under the Apache License, Version 2.0 (the "License");
9             # you may not use this file except in compliance with the License.
10             # You may obtain a copy of the License at
11             #
12             # http://www.apache.org/licenses/LICENSE-2.0
13             #
14             # Unless required by applicable law or agreed to in writing, software
15             # distributed under the License is distributed on an "AS IS" BASIS,
16             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17             # See the License for the specific language governing permissions and
18             # limitations under the License.
19             package Number::Phone::StubCountry::BY;
20 2     2   1320 use base qw(Number::Phone::StubCountry);
  2         7  
  2         218  
21              
22 2     2   18 use strict;
  2         7  
  2         44  
23 2     2   12 use warnings;
  2         15  
  2         49  
24 2     2   13 use utf8;
  2         13  
  2         12  
25             our $VERSION = 1.20230903131444;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2',
30             'leading_digits' => '800',
31             'national_rule' => '8 $1',
32             'pattern' => '(\\d{3})(\\d{3})'
33             },
34             {
35             'format' => '$1 $2 $3',
36             'leading_digits' => '800',
37             'national_rule' => '8 $1',
38             'pattern' => '(\\d{3})(\\d{2})(\\d{2,4})'
39             },
40             {
41             'format' => '$1 $2-$3',
42             'leading_digits' => '
43             1(?:
44             5[169]|
45             6(?:
46             3[1-3]|
47             4|
48             5[125]
49             )|
50             7(?:
51             1[3-9]|
52             7[0-24-6]|
53             9[2-7]
54             )
55             )|
56             2(?:
57             1[35]|
58             2[34]|
59             3[3-5]
60             )
61             ',
62             'national_rule' => '8 0$1',
63             'pattern' => '(\\d{4})(\\d{2})(\\d{3})'
64             },
65             {
66             'format' => '$1 $2-$3-$4',
67             'leading_digits' => '
68             1(?:
69             [56]|
70             7[467]
71             )|
72             2[1-3]
73             ',
74             'national_rule' => '8 0$1',
75             'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})'
76             },
77             {
78             'format' => '$1 $2-$3-$4',
79             'leading_digits' => '[1-4]',
80             'national_rule' => '8 0$1',
81             'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})'
82             },
83             {
84             'format' => '$1 $2 $3',
85             'leading_digits' => '[89]',
86             'national_rule' => '8 $1',
87             'pattern' => '(\\d{3})(\\d{3,4})(\\d{4})'
88             }
89             ];
90              
91             my $validators = {
92             'fixed_line' => '
93             (?:
94             1(?:
95             5(?:
96             1[1-5]|
97             [24]\\d|
98             6[2-4]|
99             9[1-7]
100             )|
101             6(?:
102             [235]\\d|
103             4[1-7]
104             )|
105             7\\d\\d
106             )|
107             2(?:
108             1(?:
109             [246]\\d|
110             3[0-35-9]|
111             5[1-9]
112             )|
113             2(?:
114             [235]\\d|
115             4[0-8]
116             )|
117             3(?:
118             [26]\\d|
119             3[02-79]|
120             4[024-7]|
121             5[03-7]
122             )
123             )
124             )\\d{5}
125             ',
126             'geographic' => '
127             (?:
128             1(?:
129             5(?:
130             1[1-5]|
131             [24]\\d|
132             6[2-4]|
133             9[1-7]
134             )|
135             6(?:
136             [235]\\d|
137             4[1-7]
138             )|
139             7\\d\\d
140             )|
141             2(?:
142             1(?:
143             [246]\\d|
144             3[0-35-9]|
145             5[1-9]
146             )|
147             2(?:
148             [235]\\d|
149             4[0-8]
150             )|
151             3(?:
152             [26]\\d|
153             3[02-79]|
154             4[024-7]|
155             5[03-7]
156             )
157             )
158             )\\d{5}
159             ',
160             'mobile' => '
161             (?:
162             2(?:
163             5[5-79]|
164             9[1-9]
165             )|
166             (?:
167             33|
168             44
169             )\\d
170             )\\d{6}
171             ',
172             'pager' => '',
173             'personal_number' => '',
174             'specialrate' => '(
175             (?:
176             810|
177             902
178             )\\d{7}
179             )',
180             'toll_free' => '
181             800\\d{3,7}|
182             8(?:
183             0[13]|
184             20\\d
185             )\\d{7}
186             ',
187             'voip' => '249\\d{6}'
188             };
189             my %areanames = ();
190             $areanames{be} = {"3751632", "Пружаны\,\ Брэсцкая\ вобласць",
191             "3752242", "Чавусы\,\ Магілёўская\ вобласць",
192             "37517", "Мінск",
193             "3751719", "Капыль\,\ Мінская\ вобласць",
194             "3751652", "Іванава\,\ Брэсцкая\ вобласць",
195             "3751597", "Навагрудак",
196             "3752130", "Шуміліна\,\ Віцебская\ вобласць",
197             "3751512", "Ваўкавыск",
198             "3752230", "Глуск\,\ Магілёўская\ вобласць",
199             "3752345", "Калінкавічы",
200             "3752157", "Докшыцы\,\ Віцебская\ вобласць",
201             "3752356", "Лельчыцы\,\ Гомельская\ вобласць",
202             "3752344", "Брагін\,\ Гомельская\ вобласць",
203             "3752336", "Буда\-Кашалёва\,\ Гомельская\ вобласць",
204             "3751772", "Валожын",
205             "3751647", "Лунінец\,\ Брэсцкая\ вобласць",
206             "3752137", "Дуброўна\,\ Віцебская\ вобласць",
207             "3751797", "Мядзел",
208             "3752237", "Кіраўск\,\ Магілёўская\ вобласць",
209             "3752231", "Быхаў\,\ Магілёўская\ вобласць",
210             "3751514", "Шчучын\,\ Гродзенская\ вобласць",
211             "3752131", "Бешанковічы\,\ Віцебская\ вобласць",
212             "3752342", "Светлагорск",
213             "3751515", "Масты\,\ Гродзенская\ вобласць",
214             "375176", "Маладзечна",
215             "3751641", "Жабінка\,\ Брэсцкая\ вобласць",
216             "3752158", "Ушачы\,\ Віцебская\ вобласць",
217             "3752138", "Лёзна\,\ Віцебская\ вобласць",
218             "3751596", "Карэлічы\,\ Гродзенская\ вобласць",
219             "3751774", "Лагойск",
220             "3752238", "Краснаполле\,\ Магілёўская\ вобласць",
221             "3751513", "Свіслач\,\ Гродзенская\ вобласць",
222             "375225", "Бабруйск",
223             "3752151", "Верхнядзвінск\,\ Віцебская\ вобласць",
224             "375152", "Гродна",
225             "3751775", "Жодзіна",
226             "375174", "Салігорск",
227             "3751714", "Чэрвень",
228             "3752357", "Акцябрскі\,\ Гомельская\ вобласць",
229             "3752330", "Ветка\,\ Гомельская\ вобласць",
230             "3751591", "Астравец\,\ Гродзенская\ вобласць",
231             "3752245", "Касцюковічы\,\ Магілёўская\ вобласць",
232             "3752156", "Глыбокае",
233             "3751715", "Беразіно\,\ Мінская\ вобласць",
234             "375162", "Брэст",
235             "3752244", "Клімавічы\,\ Магілёўская\ вобласць",
236             "3751796", "Крупкі\,\ Мінская\ вобласць",
237             "3752236", "Клічаў\,\ Магілёўская\ вобласць",
238             "3752243", "Чэрыкаў\,\ Магілёўская\ вобласць",
239             "3752136", "Талачын",
240             "3751655", "Столін\,\ Брэсцкая\ вобласць",
241             "3752350", "Петрыкаў\,\ Гомельская\ вобласць",
242             "375154", "Ліда",
243             "3751713", "Мар\’іна\ Горка\,\ Мінская\ вобласць",
244             "3751646", "Ганцавічы\,\ Брэсцкая\ вобласць",
245             "3751633", "Ляхавічы\,\ Брэсцкая\ вобласць",
246             "3752337", "Карма\,\ Гомельская\ вобласць",
247             "3752152", "Міёры\,\ Віцебская\ вобласць",
248             "375236", "Мазыр",
249             "3752139", "Гарадок\,\ Віцебская\ вобласць",
250             "3751770", "Нясвіж",
251             "3752239", "Шклоў",
252             "3751642", "Кобрын",
253             "3752159", "Расоны\,\ Віцебская\ вобласць",
254             "3752232", "Бялынічы\,\ Магілёўская\ вобласць",
255             "3751792", "Старыя\ Дарогі\,\ Мінская\ вобласць",
256             "3752132", "Лепель",
257             "3752346", "Хойнікі\,\ Гомельская\ вобласць",
258             "3751717", "Стаўбцы",
259             "3752354", "Ельск\,\ Гомельская\ вобласць",
260             "3752333", "Добруш\,\ Гомельская\ вобласць",
261             "3752355", "Нароўля\,\ Гомельская\ вобласць",
262             "3752247", "Хоцімск\,\ Магілёўская\ вобласць",
263             "3752240", "Мсціслаў",
264             "3751562", "Слонім",
265             "375232", "Гомель",
266             "3751592", "Смаргонь",
267             "3752334", "Жлобін",
268             "3752353", "Жыткавічы\,\ Гомельская\ вобласць",
269             "3751651", "Маларыта\,\ Брэсцкая\ вобласць",
270             "375216", "Орша",
271             "375165", "Пінск",
272             "3752248", "Дрыбін\,\ Магілёўская\ вобласць",
273             "3751593", "Ашмяны",
274             "3751718", "Узда\,\ Мінская\ вобласць",
275             "3752339", "Рагачоў",
276             "3751563", "Дзятлава\,\ Гродзенская\ вобласць",
277             "375214", "Полацк\/Наваполацк",
278             "3752241", "Крычаў\,\ Магілёўская\ вобласць",
279             "3751595", "Іўе\,\ Гродзенская\ вобласць",
280             "3751564", "Зэльва\,\ Гродзенская\ вобласць",
281             "3752332", "Чачэрск\,\ Гомельская\ вобласць",
282             "3751776", "Смалявічы",
283             "3751594", "Воранава\,\ Гродзенская\ вобласць",
284             "375163", "Баранавічы",
285             "3751631", "Камянец\,\ Брэсцкая\ вобласць",
286             "3752246", "Слаўгарад\,\ Магілёўская\ вобласць",
287             "3751793", "Клецк\,\ Мінская\ вобласць",
288             "3752233", "Горкі\,\ Магілёўская\ вобласць",
289             "3752133", "Чашнікі\,\ Віцебская\ вобласць",
290             "3752154", "Шаркоўшчына\,\ Віцебская\ вобласць",
291             "3751771", "Вілейка",
292             "375177", "Барысаў",
293             "3751643", "Бяроза\,\ Брэсцкая\ вобласць",
294             "3752347", "Лоеў\,\ Гомельская\ вобласць",
295             "3751716", "Дзяржынск",
296             "3752155", "Паставы",
297             "3751644", "Драгічын\,\ Брэсцкая\ вобласць",
298             "375212", "Віцебск",
299             "3752135", "Сянно\,\ Віцебская\ вобласць",
300             "3752340", "Рэчыца",
301             "375222", "Магілёў",
302             "3752235", "Асіповічы",
303             "3751795", "Слуцк",
304             "3751511", "Вялікая\ Бераставіца\,\ Гродзенская\ вобласць",
305             "3752153", "Браслаў",
306             "3751645", "Івацэвічы\,\ Брэсцкая\ вобласць",
307             "3751794", "Любань\,\ Мінская\ вобласць",
308             "3752234", "Круглае\,\ Магілёўская\ вобласць",};
309             $areanames{en} = {"3751775", "Zhodino",
310             "375174", "Soligorsk",
311             "3751513", "Svisloch\,\ Grodno\ Region",
312             "3752151", "Verhnedvinsk\,\ Vitebsk\ Region",
313             "375225", "Babruysk",
314             "375152", "Grodno",
315             "3751596", "Korelichi\,\ Grodno\ Region",
316             "3752238", "Krasnopolye\,\ Mogilev\ Region",
317             "3751774", "Lahoysk",
318             "3752138", "Liozno\,\ Vitebsk\ Region",
319             "3751515", "Mosty\,\ Grodno\ Region",
320             "3752158", "Ushachi\,\ Vitebsk\ Region",
321             "375176", "Molodechno",
322             "3751641", "Zhabinka\,\ Brest\ Region",
323             "3752342", "Svetlogorsk",
324             "3751514", "Shchuchin\,\ Grodno\ Region",
325             "3752131", "Beshenkovichi\,\ Vitebsk\ Region",
326             "3752231", "Byhov\,\ Mogilev\ Region",
327             "3751713", "Maryina\ Gorka\,\ Minsk\ Region",
328             "3751646", "Gantsevichi\,\ Brest\ Region",
329             "3752337", "Korma\,\ Gomel\ Region",
330             "3751633", "Lyakhovichi\,\ Brest\ Region",
331             "3752350", "Petrikov\,\ Gomel\ Region",
332             "375154", "Lida",
333             "3752136", "Tolochin",
334             "3751655", "Stolin\,\ Brest\ Region",
335             "3751796", "Krupki\,\ Minsk\ Region",
336             "3752236", "Klichev\,\ Mogilev\ Region",
337             "3752243", "Cherikov\,\ Mogilev\ Region",
338             "3752244", "Klimovichi\,\ Mogilev\ Region",
339             "3752156", "Glubokoye",
340             "3751715", "Berezino\,\ Minsk\ Region",
341             "375162", "Brest",
342             "3752330", "Vetka\,\ Gomel\ Region",
343             "3752245", "Kostyukovichi\,\ Mogilev\ Region",
344             "3751591", "Ostrovets\,\ Grodno\ Region",
345             "3751714", "Cherven",
346             "3752357", "Oktyabrskiy\,\ Gomel\ Region",
347             "3751652", "Ivanovo\,\ Brest\ Region",
348             "3751597", "Novogrudok",
349             "3751719", "Kopyl\,\ Minsk\ Region",
350             "3752242", "Chausy\,\ Mogilev\ Region",
351             "37517", "Minsk",
352             "3751632", "Pruzhany\,\ Brest\ Region",
353             "3752237", "Kirovsk\,\ Mogilev\ Region",
354             "3751797", "Myadel",
355             "3752137", "Dubrovno\,\ Vitebsk\ Region",
356             "3752336", "Budo\-Koshelevo\,\ Gomel\ Region",
357             "3751772", "Volozhin",
358             "3751647", "Luninets\,\ Brest\ Region",
359             "3752356", "Lelchitsy\,\ Gomel\ Region",
360             "3752344", "Bragin\,\ Gomel\ Region",
361             "3752230", "Glusk\,\ Mogilev\ Region",
362             "3752157", "Dokshitsy\,\ Vitebsk\ Region",
363             "3752345", "Kalinkovichi",
364             "3752130", "Shumilino\,\ Vitebsk\ Region",
365             "3751512", "Volkovysk",
366             "3751631", "Kamenets\,\ Brest\ Region",
367             "3751776", "Smalyavichy",
368             "3752332", "Chechersk\,\ Gomel\ Region",
369             "375163", "Baranovichi",
370             "3751594", "Voronovo\,\ Grodno\ Region",
371             "3751595", "Ivye\,\ Grodno\ Region",
372             "3751564", "Zelva\,\ Grodno\ Region",
373             "375214", "Polotsk\/Navapolatsk",
374             "3752241", "Krichev\,\ Mogilev\ Region",
375             "3751563", "Dyatlovo\,\ Grodno\ Region",
376             "3752339", "Rogachev",
377             "3751718", "Uzda\,\ Minsk\ Region",
378             "3752248", "Dribin\,\ Mogilev\ Region",
379             "3751593", "Oshmyany",
380             "375165", "Pinsk",
381             "375216", "Orsha",
382             "3751651", "Malorita\,\ Brest\ Region",
383             "3751794", "Lyuban\,\ Minsk\ Region",
384             "3752234", "Krugloye\,\ Mogilev\ Region",
385             "3751511", "Vyalikaya\ Byerastavitsa\,\ Grodno\ Region",
386             "3752153", "Braslav",
387             "3751645", "Ivatsevichi\,\ Brest\ Region",
388             "3752340", "Rechitsa",
389             "3751795", "Slutsk",
390             "375222", "Mogilev",
391             "3752235", "Osipovichi",
392             "375212", "Vitebsk",
393             "3751644", "Drogichin\,\ Brest\ Region",
394             "3752135", "Senno\,\ Vitebsk\ Region",
395             "3751716", "Dzerzhinsk",
396             "3752347", "Loyev\,\ Gomel\ Region",
397             "3751643", "Bereza\,\ Brest\ Region",
398             "3752155", "Postavy",
399             "375177", "Borisov",
400             "3751771", "Vileyka",
401             "3752133", "Chashniki\,\ Vitebsk\ Region",
402             "3752154", "Sharkovshchina\,\ Vitebsk\ Region",
403             "3752246", "Slavgorod\,\ Mogilev\ Region",
404             "3752233", "Gorki\,\ Mogilev\ Region",
405             "3751793", "Kletsk\,\ Minsk\ Region",
406             "3752132", "Lepel",
407             "3752232", "Belynichi\,\ Mogilev\ Region",
408             "3751792", "Starye\ Dorogi\,\ Minsk\ Region",
409             "3751642", "Kobryn",
410             "3752159", "Rossony\,\ Vitebsk\ Region",
411             "3751770", "Nesvizh",
412             "3752239", "Shklov",
413             "3752139", "Gorodok\,\ Vitebsk\ Region",
414             "375236", "Mozyr",
415             "3752152", "Miory\,\ Vitebsk\ Region",
416             "3751592", "Smorgon",
417             "3752334", "Zhlobin",
418             "3752353", "Zhitkovichi\,\ Gomel\ Region",
419             "3752240", "Mstislavl",
420             "3751562", "Slonim",
421             "375232", "Gomel",
422             "3752247", "Khotimsk\,\ Mogilev\ Region",
423             "3752355", "Narovlya\,\ Gomel\ Region",
424             "3751717", "Stolbtsy",
425             "3752346", "Khoiniki\,\ Gomel\ Region",
426             "3752354", "Yelsk\,\ Gomel\ Region",
427             "3752333", "Dobrush\,\ Gomel\ Region",};
428             $areanames{ru} = {"3752340", "Речица",
429             "3751795", "Слуцк",
430             "3752235", "Осиповичи",
431             "375222", "Могилев",
432             "375212", "Витебск",
433             "3751644", "Дрогичин\,\ Брестская\ область",
434             "3752135", "Сенно\,\ Витебская\ область",
435             "3752234", "Круглое\,\ Могилевская\ область",
436             "3751794", "Любань\,\ Минская\ область",
437             "3751511", "Берестовица\,\ Гродненская\ область",
438             "3751645", "Ивацевичи\,\ Брестская\ область",
439             "3752153", "Браслав",
440             "3752133", "Чашники\,\ Витебская\ область",
441             "3752154", "Шарковщина\,\ Витебская\ область",
442             "3752246", "Славгород\,\ Могилевская\ область",
443             "3752233", "Горки\,\ Могилевская\ область",
444             "3751793", "Клецк\,\ Минская\ область",
445             "375177", "Борисов",
446             "3751643", "Береза\,\ Брестская\ область",
447             "3752347", "Лоев\,\ Гомельская\ область",
448             "3752155", "Поставы",
449             "3751716", "Дзержинск",
450             "3751771", "Вилейка",
451             "3752241", "Кричев\,\ Могилевская\ область",
452             "375214", "Полоцк\/Новополоцк",
453             "3751564", "Зельва\,\ Гродненская\ область",
454             "3751595", "Ивье\,\ Гродненская\ область",
455             "3751631", "Каменец\,\ Брестская\ область",
456             "3752332", "Чечерск\,\ Гомельская\ область",
457             "3751776", "Смолевичи",
458             "3751594", "Вороново\,\ Гродненская\ область",
459             "375163", "Барановичи",
460             "375165", "Пинск",
461             "3751593", "Ошмяны",
462             "3752248", "Дрибин\,\ Могилевская\ область",
463             "3751651", "Малорита\,\ Брестская\ область",
464             "375216", "Орша",
465             "3751563", "Дятлово\,\ Гродненская\ область",
466             "3752339", "Рогачев",
467             "3751718", "Узда\,\ Минская\ область",
468             "3752240", "Мстиславль",
469             "3751562", "Слоним",
470             "375232", "Гомель",
471             "3751592", "Сморгонь",
472             "3752353", "Житковичи\,\ Гомельская\ область",
473             "3752334", "Жлобин",
474             "3751717", "Столбцы",
475             "3752346", "Хойники\,\ Гомельская\ область",
476             "3752333", "Добруш\,\ Гомельская\ область",
477             "3752354", "Ельск\,\ Гомельская\ область",
478             "3752247", "Хотимск\,\ Могилевская\ область",
479             "3752355", "Наровля\,\ Гомельская\ область",
480             "3751642", "Кобрин",
481             "3752159", "Россоны\,\ Витебская\ область",
482             "3752132", "Лепель",
483             "3751792", "Старые\ Дороги\,\ Минская\ область",
484             "3752232", "Белыничи\,\ Могилевская\ область",
485             "375236", "Мозырь",
486             "3752152", "Миоры\,\ Витебская\ область",
487             "3751770", "Несвиж",
488             "3752239", "Шклов",
489             "3752139", "Городок\,\ Витебская\ область",
490             "3752136", "Толочин",
491             "3751655", "Столин\,\ Брестская\ область",
492             "3752236", "Кличев\,\ Могилевская\ область",
493             "3751796", "Крупки\,\ Минская\ область",
494             "3752243", "Чериков\,\ Могилевская\ область",
495             "3751713", "Марьина\ Горка\,\ Минская\ область",
496             "3751646", "Ганцевичи\,\ Брестская\ область",
497             "3751633", "Ляховичи\,\ Брестская\ область",
498             "3752337", "Корма\,\ Гомельская\ область",
499             "3752350", "Петриков\,\ Гомельская\ область",
500             "375154", "Лида",
501             "3752330", "Ветка\,\ Гомельская\ область",
502             "3751591", "Островец\,\ Гродненская\ область",
503             "3752245", "Костюковичи\,\ Могилевская\ область",
504             "3751714", "Червень",
505             "3752357", "Октябрьский\,\ Гомельская\ область",
506             "3752244", "Климовичи\,\ Могилевская\ область",
507             "3752156", "Глубокое",
508             "3751715", "Березино\,\ Минская\ область",
509             "375162", "Брест",
510             "3751596", "Кореличи\,\ Гродненская\ область",
511             "3752238", "Краснополье\,\ Могилевская\ область",
512             "3751774", "Логойск",
513             "3752138", "Лиозно\,\ Витебская\ область",
514             "3751775", "Жодино",
515             "375174", "Солигорск",
516             "3751513", "Свислочь\,\ Гродненская\ область",
517             "375152", "Гродно",
518             "375225", "Бобруйск",
519             "3752151", "Верхнедвинск\,\ Витебская\ область",
520             "3751514", "Щучин\,\ Гродненская\ область",
521             "3752131", "Бешенковичи\,\ Витебская\ область",
522             "3752231", "Быхов\,\ Могилевская\ область",
523             "3751515", "Мосты\,\ Гродненская\ область",
524             "375176", "Молодечно",
525             "3751641", "Жабинка\,\ Брестская\ область",
526             "3752158", "Ушачи\,\ Витебская\ область",
527             "3752342", "Светлогорск",
528             "3751772", "Воложин",
529             "3752336", "Буда\-Кошелево\,\ Гомельская\ область",
530             "3751647", "Лунинец\,\ Брестская\ область",
531             "3751797", "Мядель",
532             "3752237", "Кировск\,\ Могилевская\ область",
533             "3752137", "Дубровно\,\ Витебская\ область",
534             "3752230", "Глуск\,\ Могилевская\ область",
535             "3752157", "Докшицы\,\ Витебская\ область",
536             "3752345", "Калинковичи",
537             "3752130", "Шумилино\,\ Витебская\ область",
538             "3751512", "Волковыск",
539             "3752356", "Лельчицы\,\ Гомельская\ область",
540             "3752344", "Брагин\,\ Гомельская\ область",
541             "3751719", "Копыль\,\ Минская\ область",
542             "3751652", "Иваново\,\ Брестская\ область",
543             "3751597", "Новогрудок",
544             "3751632", "Пружаны\,\ Брестская\ область",
545             "3752242", "Чаусы\,\ Могилевская\ область",
546             "37517", "Минск",};
547              
548             sub new {
549 16     16 1 33 my $class = shift;
550 16         28 my $number = shift;
551 16         157 $number =~ s/(^\+375|\D)//g;
552 16         94 my $self = bless({ country_code => '375', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
553 16 100       77 return $self if ($self->is_valid());
554 1         4 $number =~ s/^(?:0|80?)//;
555 1         10 $self = bless({ country_code => '375', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
556 1 50       4 return $self->is_valid() ? $self : undef;
557             }
558             1;