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   1523 use base qw(Number::Phone::StubCountry);
  2         8  
  2         284  
21              
22 2     2   21 use strict;
  2         11  
  2         61  
23 2     2   14 use warnings;
  2         8  
  2         54  
24 2     2   13 use utf8;
  2         5  
  2         21  
25             our $VERSION = 1.20230307181417;
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} = {"3752135", "Сянно\,\ Віцебская\ вобласць",
191             "3751631", "Камянец\,\ Брэсцкая\ вобласць",
192             "3752243", "Чэрыкаў\,\ Магілёўская\ вобласць",
193             "3751655", "Столін\,\ Брэсцкая\ вобласць",
194             "3752232", "Бялынічы\,\ Магілёўская\ вобласць",
195             "3752137", "Дуброўна\,\ Віцебская\ вобласць",
196             "3752151", "Верхнядзвінск\,\ Віцебская\ вобласць",
197             "375177", "Барысаў",
198             "3752239", "Шклоў",
199             "3752247", "Хоцімск\,\ Магілёўская\ вобласць",
200             "3752156", "Глыбокае",
201             "375174", "Салігорск",
202             "3752346", "Хойнікі\,\ Гомельская\ вобласць",
203             "375222", "Магілёў",
204             "3752340", "Рэчыца",
205             "3752344", "Брагін\,\ Гомельская\ вобласць",
206             "3752133", "Чашнікі\,\ Віцебская\ вобласць",
207             "3752154", "Шаркоўшчына\,\ Віцебская\ вобласць",
208             "375236", "Мазыр",
209             "3751592", "Смаргонь",
210             "37517", "Мінск",
211             "375165", "Пінск",
212             "3751719", "Капыль\,\ Мінская\ вобласць",
213             "3752245", "Касцюковічы\,\ Магілёўская\ вобласць",
214             "3751563", "Дзятлава\,\ Гродзенская\ вобласць",
215             "3751775", "Жодзіна",
216             "3751651", "Маларыта\,\ Брэсцкая\ вобласць",
217             "3751718", "Узда\,\ Мінская\ вобласць",
218             "3752155", "Паставы",
219             "3752345", "Калінкавічы",
220             "375152", "Гродна",
221             "3752131", "Бешанковічы\,\ Віцебская\ вобласць",
222             "3752347", "Лоеў\,\ Гомельская\ вобласць",
223             "3751770", "Нясвіж",
224             "3752157", "Докшыцы\,\ Віцебская\ вобласць",
225             "3752246", "Слаўгарад\,\ Магілёўская\ вобласць",
226             "3752240", "Мсціслаў",
227             "375232", "Гомель",
228             "3751776", "Смалявічы",
229             "3752244", "Клімавічы\,\ Магілёўская\ вобласць",
230             "3751774", "Лагойск",
231             "3752238", "Краснаполле\,\ Магілёўская\ вобласць",
232             "3752153", "Браслаў",
233             "375176", "Маладзечна",
234             "3752332", "Чачэрск\,\ Гомельская\ вобласць",
235             "3752241", "Крычаў\,\ Магілёўская\ вобласць",
236             "3752136", "Талачын",
237             "3752130", "Шуміліна\,\ Віцебская\ вобласць",
238             "3751771", "Вілейка",
239             "3752339", "Рагачоў",
240             "3751512", "Ваўкавыск",
241             "375154", "Ліда",
242             "3751633", "Ляхавічы\,\ Брэсцкая\ вобласць",
243             "3751564", "Зэльва\,\ Гродзенская\ вобласць",
244             "375163", "Баранавічы",
245             "3751642", "Кобрын",
246             "3751792", "Старыя\ Дарогі\,\ Мінская\ вобласць",
247             "3751632", "Пружаны\,\ Брэсцкая\ вобласць",
248             "3751714", "Чэрвень",
249             "3751643", "Бяроза\,\ Брэсцкая\ вобласць",
250             "3751716", "Дзяржынск",
251             "3751793", "Клецк\,\ Мінская\ вобласць",
252             "3752356", "Лельчыцы\,\ Гомельская\ вобласць",
253             "3752231", "Быхаў\,\ Магілёўская\ вобласць",
254             "3752342", "Светлагорск",
255             "3752152", "Міёры\,\ Віцебская\ вобласць",
256             "3752159", "Расоны\,\ Віцебская\ вобласць",
257             "3751594", "Воранава\,\ Гродзенская\ вобласць",
258             "3752350", "Петрыкаў\,\ Гомельская\ вобласць",
259             "3752333", "Добруш\,\ Гомельская\ вобласць",
260             "3752248", "Дрыбін\,\ Магілёўская\ вобласць",
261             "3752354", "Ельск\,\ Гомельская\ вобласць",
262             "3751596", "Карэлічы\,\ Гродзенская\ вобласць",
263             "375216", "Орша",
264             "3751513", "Свіслач\,\ Гродзенская\ вобласць",
265             "3752138", "Лёзна\,\ Віцебская\ вобласць",
266             "3752234", "Круглае\,\ Магілёўская\ вобласць",
267             "3751795", "Слуцк",
268             "3751591", "Астравец\,\ Гродзенская\ вобласць",
269             "3751645", "Івацэвічы\,\ Брэсцкая\ вобласць",
270             "3752337", "Карма\,\ Гомельская\ вобласць",
271             "3752236", "Клічаў\,\ Магілёўская\ вобласць",
272             "375225", "Бабруйск",
273             "3752230", "Глуск\,\ Магілёўская\ вобласць",
274             "3751515", "Масты\,\ Гродзенская\ вобласць",
275             "375162", "Брэст",
276             "3751647", "Лунінец\,\ Брэсцкая\ вобласць",
277             "3751797", "Мядзел",
278             "3752235", "Асіповічы",
279             "3751644", "Драгічын\,\ Брэсцкая\ вобласць",
280             "3751794", "Любань\,\ Мінская\ вобласць",
281             "3751562", "Слонім",
282             "3751796", "Крупкі\,\ Мінская\ вобласць",
283             "3751652", "Іванава\,\ Брэсцкая\ вобласць",
284             "3751713", "Мар\’іна\ Горка\,\ Мінская\ вобласць",
285             "3751646", "Ганцавічы\,\ Брэсцкая\ вобласць",
286             "3752334", "Жлобін",
287             "3752353", "Жыткавічы\,\ Гомельская\ вобласць",
288             "3751514", "Шчучын\,\ Гродзенская\ вобласць",
289             "3752237", "Кіраўск\,\ Магілёўская\ вобласць",
290             "375214", "Полацк\/Наваполацк",
291             "3752132", "Лепель",
292             "3752336", "Буда\-Кашалёва\,\ Гомельская\ вобласць",
293             "3752330", "Ветка\,\ Гомельская\ вобласць",
294             "3752139", "Гарадок\,\ Віцебская\ вобласць",
295             "3751593", "Ашмяны",
296             "3752242", "Чавусы\,\ Магілёўская\ вобласць",
297             "3752357", "Акцябрскі\,\ Гомельская\ вобласць",
298             "3751715", "Беразіно\,\ Мінская\ вобласць",
299             "3751772", "Валожын",
300             "375212", "Віцебск",
301             "3751511", "Вялікая\ Бераставіца\,\ Гродзенская\ вобласць",
302             "3752233", "Горкі\,\ Магілёўская\ вобласць",
303             "3752158", "Ушачы\,\ Віцебская\ вобласць",
304             "3751597", "Навагрудак",
305             "3751641", "Жабінка\,\ Брэсцкая\ вобласць",
306             "3751595", "Іўе\,\ Гродзенская\ вобласць",
307             "3752355", "Нароўля\,\ Гомельская\ вобласць",
308             "3751717", "Стаўбцы",};
309             $areanames{en} = {"3752151", "Verhnedvinsk\,\ Vitebsk\ Region",
310             "3752232", "Belynichi\,\ Mogilev\ Region",
311             "3752137", "Dubrovno\,\ Vitebsk\ Region",
312             "3752239", "Shklov",
313             "375177", "Borisov",
314             "3752243", "Cherikov\,\ Mogilev\ Region",
315             "3751655", "Stolin\,\ Brest\ Region",
316             "3751631", "Kamenets\,\ Brest\ Region",
317             "3752135", "Senno\,\ Vitebsk\ Region",
318             "3752245", "Kostyukovichi\,\ Mogilev\ Region",
319             "3751719", "Kopyl\,\ Minsk\ Region",
320             "3751775", "Zhodino",
321             "3751563", "Dyatlovo\,\ Grodno\ Region",
322             "37517", "Minsk",
323             "375165", "Pinsk",
324             "3752154", "Sharkovshchina\,\ Vitebsk\ Region",
325             "3752133", "Chashniki\,\ Vitebsk\ Region",
326             "3752344", "Bragin\,\ Gomel\ Region",
327             "3751592", "Smorgon",
328             "375236", "Mozyr",
329             "3752346", "Khoiniki\,\ Gomel\ Region",
330             "3752156", "Glubokoye",
331             "3752247", "Khotimsk\,\ Mogilev\ Region",
332             "375174", "Soligorsk",
333             "3752340", "Rechitsa",
334             "375222", "Mogilev",
335             "3752244", "Klimovichi\,\ Mogilev\ Region",
336             "3751774", "Lahoysk",
337             "3752246", "Slavgorod\,\ Mogilev\ Region",
338             "3752157", "Dokshitsy\,\ Vitebsk\ Region",
339             "3752131", "Beshenkovichi\,\ Vitebsk\ Region",
340             "3751770", "Nesvizh",
341             "3752347", "Loyev\,\ Gomel\ Region",
342             "3751776", "Smalyavichy",
343             "3752240", "Mstislavl",
344             "375232", "Gomel",
345             "3752345", "Kalinkovichi",
346             "3752155", "Postavy",
347             "375152", "Grodno",
348             "3751651", "Malorita\,\ Brest\ Region",
349             "3751718", "Uzda\,\ Minsk\ Region",
350             "3751792", "Starye\ Dorogi\,\ Minsk\ Region",
351             "375163", "Baranovichi",
352             "3751642", "Kobryn",
353             "375154", "Lida",
354             "3751633", "Lyakhovichi\,\ Brest\ Region",
355             "3751564", "Zelva\,\ Grodno\ Region",
356             "3752136", "Tolochin",
357             "3752332", "Chechersk\,\ Gomel\ Region",
358             "3752241", "Krichev\,\ Mogilev\ Region",
359             "3752339", "Rogachev",
360             "3751512", "Volkovysk",
361             "3752130", "Shumilino\,\ Vitebsk\ Region",
362             "3751771", "Vileyka",
363             "3752153", "Braslav",
364             "3752238", "Krasnopolye\,\ Mogilev\ Region",
365             "375176", "Molodechno",
366             "3752354", "Yelsk\,\ Gomel\ Region",
367             "3752333", "Dobrush\,\ Gomel\ Region",
368             "3752248", "Dribin\,\ Mogilev\ Region",
369             "3751513", "Svisloch\,\ Grodno\ Region",
370             "375216", "Orsha",
371             "3751596", "Korelichi\,\ Grodno\ Region",
372             "3752152", "Miory\,\ Vitebsk\ Region",
373             "3752356", "Lelchitsy\,\ Gomel\ Region",
374             "3752342", "Svetlogorsk",
375             "3752231", "Byhov\,\ Mogilev\ Region",
376             "3751594", "Voronovo\,\ Grodno\ Region",
377             "3752350", "Petrikov\,\ Gomel\ Region",
378             "3752159", "Rossony\,\ Vitebsk\ Region",
379             "3751793", "Kletsk\,\ Minsk\ Region",
380             "3751716", "Dzerzhinsk",
381             "3751643", "Bereza\,\ Brest\ Region",
382             "3751714", "Cherven",
383             "3751632", "Pruzhany\,\ Brest\ Region",
384             "375162", "Brest",
385             "3751797", "Myadel",
386             "3751647", "Luninets\,\ Brest\ Region",
387             "3751515", "Mosty\,\ Grodno\ Region",
388             "3752236", "Klichev\,\ Mogilev\ Region",
389             "375225", "Babruysk",
390             "3752337", "Korma\,\ Gomel\ Region",
391             "3752230", "Glusk\,\ Mogilev\ Region",
392             "3752138", "Liozno\,\ Vitebsk\ Region",
393             "3752234", "Krugloye\,\ Mogilev\ Region",
394             "3751591", "Ostrovets\,\ Grodno\ Region",
395             "3751645", "Ivatsevichi\,\ Brest\ Region",
396             "3751795", "Slutsk",
397             "3752336", "Budo\-Koshelevo\,\ Gomel\ Region",
398             "3752237", "Kirovsk\,\ Mogilev\ Region",
399             "375214", "Polotsk\/Navapolatsk",
400             "3752132", "Lepel",
401             "3751593", "Oshmyany",
402             "3752139", "Gorodok\,\ Vitebsk\ Region",
403             "3752330", "Vetka\,\ Gomel\ Region",
404             "3752353", "Zhitkovichi\,\ Gomel\ Region",
405             "3752334", "Zhlobin",
406             "3751514", "Shchuchin\,\ Grodno\ Region",
407             "3751652", "Ivanovo\,\ Brest\ Region",
408             "3751646", "Gantsevichi\,\ Brest\ Region",
409             "3751713", "Maryina\ Gorka\,\ Minsk\ Region",
410             "3751562", "Slonim",
411             "3751796", "Krupki\,\ Minsk\ Region",
412             "3752235", "Osipovichi",
413             "3751794", "Lyuban\,\ Minsk\ Region",
414             "3751644", "Drogichin\,\ Brest\ Region",
415             "3752355", "Narovlya\,\ Gomel\ Region",
416             "3751717", "Stolbtsy",
417             "3751641", "Zhabinka\,\ Brest\ Region",
418             "3751595", "Ivye\,\ Grodno\ Region",
419             "3752158", "Ushachi\,\ Vitebsk\ Region",
420             "3752233", "Gorki\,\ Mogilev\ Region",
421             "3751597", "Novogrudok",
422             "3752357", "Oktyabrskiy\,\ Gomel\ Region",
423             "3752242", "Chausy\,\ Mogilev\ Region",
424             "3751511", "Vyalikaya\ Byerastavitsa\,\ Grodno\ Region",
425             "3751772", "Volozhin",
426             "3751715", "Berezino\,\ Minsk\ Region",
427             "375212", "Vitebsk",};
428             $areanames{ru} = {"3751652", "Иваново\,\ Брестская\ область",
429             "3751646", "Ганцевичи\,\ Брестская\ область",
430             "3751713", "Марьина\ Горка\,\ Минская\ область",
431             "3751562", "Слоним",
432             "3751796", "Крупки\,\ Минская\ область",
433             "3752235", "Осиповичи",
434             "3751794", "Любань\,\ Минская\ область",
435             "3751644", "Дрогичин\,\ Брестская\ область",
436             "3752336", "Буда\-Кошелево\,\ Гомельская\ область",
437             "3752237", "Кировск\,\ Могилевская\ область",
438             "375214", "Полоцк\/Новополоцк",
439             "3752132", "Лепель",
440             "3751593", "Ошмяны",
441             "3752139", "Городок\,\ Витебская\ область",
442             "3752330", "Ветка\,\ Гомельская\ область",
443             "3752353", "Житковичи\,\ Гомельская\ область",
444             "3752334", "Жлобин",
445             "3751514", "Щучин\,\ Гродненская\ область",
446             "3752158", "Ушачи\,\ Витебская\ область",
447             "3752233", "Горки\,\ Могилевская\ область",
448             "3751597", "Новогрудок",
449             "3752357", "Октябрьский\,\ Гомельская\ область",
450             "3752242", "Чаусы\,\ Могилевская\ область",
451             "3751511", "Берестовица\,\ Гродненская\ область",
452             "3751772", "Воложин",
453             "3751715", "Березино\,\ Минская\ область",
454             "375212", "Витебск",
455             "3752355", "Наровля\,\ Гомельская\ область",
456             "3751717", "Столбцы",
457             "3751641", "Жабинка\,\ Брестская\ область",
458             "3751595", "Ивье\,\ Гродненская\ область",
459             "3751793", "Клецк\,\ Минская\ область",
460             "3751643", "Береза\,\ Брестская\ область",
461             "3751716", "Дзержинск",
462             "3751714", "Червень",
463             "3751632", "Пружаны\,\ Брестская\ область",
464             "3752354", "Ельск\,\ Гомельская\ область",
465             "3752333", "Добруш\,\ Гомельская\ область",
466             "3752248", "Дрибин\,\ Могилевская\ область",
467             "3751513", "Свислочь\,\ Гродненская\ область",
468             "375216", "Орша",
469             "3751596", "Кореличи\,\ Гродненская\ область",
470             "3752152", "Миоры\,\ Витебская\ область",
471             "3752356", "Лельчицы\,\ Гомельская\ область",
472             "3752231", "Быхов\,\ Могилевская\ область",
473             "3752342", "Светлогорск",
474             "3751594", "Вороново\,\ Гродненская\ область",
475             "3752350", "Петриков\,\ Гомельская\ область",
476             "3752159", "Россоны\,\ Витебская\ область",
477             "3752236", "Кличев\,\ Могилевская\ область",
478             "375225", "Бобруйск",
479             "3752337", "Корма\,\ Гомельская\ область",
480             "3752230", "Глуск\,\ Могилевская\ область",
481             "3752138", "Лиозно\,\ Витебская\ область",
482             "3752234", "Круглое\,\ Могилевская\ область",
483             "3751591", "Островец\,\ Гродненская\ область",
484             "3751645", "Ивацевичи\,\ Брестская\ область",
485             "3751795", "Слуцк",
486             "375162", "Брест",
487             "3751797", "Мядель",
488             "3751647", "Лунинец\,\ Брестская\ область",
489             "3751515", "Мосты\,\ Гродненская\ область",
490             "3752345", "Калинковичи",
491             "3752155", "Поставы",
492             "375152", "Гродно",
493             "3751651", "Малорита\,\ Брестская\ область",
494             "3751718", "Узда\,\ Минская\ область",
495             "3752244", "Климовичи\,\ Могилевская\ область",
496             "3751774", "Логойск",
497             "3752157", "Докшицы\,\ Витебская\ область",
498             "3752246", "Славгород\,\ Могилевская\ область",
499             "3752131", "Бешенковичи\,\ Витебская\ область",
500             "3752347", "Лоев\,\ Гомельская\ область",
501             "3751770", "Несвиж",
502             "3751776", "Смолевичи",
503             "3752240", "Мстиславль",
504             "375232", "Гомель",
505             "3752136", "Толочин",
506             "3752332", "Чечерск\,\ Гомельская\ область",
507             "3752241", "Кричев\,\ Могилевская\ область",
508             "3752339", "Рогачев",
509             "3751512", "Волковыск",
510             "3752130", "Шумилино\,\ Витебская\ область",
511             "3751771", "Вилейка",
512             "3752153", "Браслав",
513             "3752238", "Краснополье\,\ Могилевская\ область",
514             "375176", "Молодечно",
515             "3751792", "Старые\ Дороги\,\ Минская\ область",
516             "3751642", "Кобрин",
517             "375163", "Барановичи",
518             "375154", "Лида",
519             "3751633", "Ляховичи\,\ Брестская\ область",
520             "3751564", "Зельва\,\ Гродненская\ область",
521             "3751631", "Каменец\,\ Брестская\ область",
522             "3752135", "Сенно\,\ Витебская\ область",
523             "3752151", "Верхнедвинск\,\ Витебская\ область",
524             "3752232", "Белыничи\,\ Могилевская\ область",
525             "3752137", "Дубровно\,\ Витебская\ область",
526             "3752239", "Шклов",
527             "375177", "Борисов",
528             "3752243", "Чериков\,\ Могилевская\ область",
529             "3751655", "Столин\,\ Брестская\ область",
530             "3752154", "Шарковщина\,\ Витебская\ область",
531             "3752133", "Чашники\,\ Витебская\ область",
532             "3752344", "Брагин\,\ Гомельская\ область",
533             "3751592", "Сморгонь",
534             "375236", "Мозырь",
535             "3752346", "Хойники\,\ Гомельская\ область",
536             "3752247", "Хотимск\,\ Могилевская\ область",
537             "375174", "Солигорск",
538             "3752156", "Глубокое",
539             "3752340", "Речица",
540             "375222", "Могилев",
541             "3752245", "Костюковичи\,\ Могилевская\ область",
542             "3751719", "Копыль\,\ Минская\ область",
543             "3751775", "Жодино",
544             "3751563", "Дятлово\,\ Гродненская\ область",
545             "37517", "Минск",
546             "375165", "Пинск",};
547              
548             sub new {
549 16     16 1 49 my $class = shift;
550 16         28 my $number = shift;
551 16         108 $number =~ s/(^\+375|\D)//g;
552 16         100 my $self = bless({ country_code => '375', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
553 16 100       76 return $self if ($self->is_valid());
554 1         7 $number =~ s/^(?:0|80?)//;
555 1         14 $self = bless({ country_code => '375', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
556 1 50       5 return $self->is_valid() ? $self : undef;
557             }
558             1;