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