File Coverage

blib/lib/Number/Phone/StubCountry/NA.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::NA;
20 2     2   1371 use base qw(Number::Phone::StubCountry);
  2         8  
  2         272  
21              
22 2     2   16 use strict;
  2         6  
  2         51  
23 2     2   12 use warnings;
  2         5  
  2         50  
24 2     2   11 use utf8;
  2         5  
  2         11  
25             our $VERSION = 1.20230614174404;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2 $3',
30             'leading_digits' => '88',
31             'national_rule' => '0$1',
32             'pattern' => '(\\d{2})(\\d{3})(\\d{3})'
33             },
34             {
35             'format' => '$1 $2 $3',
36             'leading_digits' => '6',
37             'national_rule' => '0$1',
38             'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})'
39             },
40             {
41             'format' => '$1 $2 $3',
42             'leading_digits' => '87',
43             'national_rule' => '0$1',
44             'pattern' => '(\\d{3})(\\d{3})(\\d{3})'
45             },
46             {
47             'format' => '$1 $2 $3',
48             'leading_digits' => '8',
49             'national_rule' => '0$1',
50             'pattern' => '(\\d{2})(\\d{3})(\\d{4})'
51             }
52             ];
53              
54             my $validators = {
55             'fixed_line' => '
56             64426\\d{3}|
57             6(?:
58             1(?:
59             2[2-7]|
60             3[01378]|
61             4[0-4]
62             )|
63             254|
64             32[0237]|
65             4(?:
66             27|
67             41|
68             5[25]
69             )|
70             52[236-8]|
71             626|
72             7(?:
73             2[2-4]|
74             30
75             )
76             )\\d{4,5}|
77             6(?:
78             1(?:
79             (?:
80             0\\d|
81             2[0189]|
82             3[24-69]|
83             4[5-9]
84             )\\d|
85             17|
86             69|
87             7[014]
88             )|
89             2(?:
90             17|
91             5[0-36-8]|
92             69|
93             70
94             )|
95             3(?:
96             17|
97             2[14-689]|
98             34|
99             6[289]|
100             7[01]|
101             81
102             )|
103             4(?:
104             17|
105             2[0-2]|
106             4[06]|
107             5[0137]|
108             69|
109             7[01]
110             )|
111             5(?:
112             17|
113             2[0459]|
114             69|
115             7[01]
116             )|
117             6(?:
118             17|
119             25|
120             38|
121             42|
122             69|
123             7[01]
124             )|
125             7(?:
126             17|
127             2[569]|
128             3[13]|
129             6[89]|
130             7[01]
131             )
132             )\\d{4}
133             ',
134             'geographic' => '
135             64426\\d{3}|
136             6(?:
137             1(?:
138             2[2-7]|
139             3[01378]|
140             4[0-4]
141             )|
142             254|
143             32[0237]|
144             4(?:
145             27|
146             41|
147             5[25]
148             )|
149             52[236-8]|
150             626|
151             7(?:
152             2[2-4]|
153             30
154             )
155             )\\d{4,5}|
156             6(?:
157             1(?:
158             (?:
159             0\\d|
160             2[0189]|
161             3[24-69]|
162             4[5-9]
163             )\\d|
164             17|
165             69|
166             7[014]
167             )|
168             2(?:
169             17|
170             5[0-36-8]|
171             69|
172             70
173             )|
174             3(?:
175             17|
176             2[14-689]|
177             34|
178             6[289]|
179             7[01]|
180             81
181             )|
182             4(?:
183             17|
184             2[0-2]|
185             4[06]|
186             5[0137]|
187             69|
188             7[01]
189             )|
190             5(?:
191             17|
192             2[0459]|
193             69|
194             7[01]
195             )|
196             6(?:
197             17|
198             25|
199             38|
200             42|
201             69|
202             7[01]
203             )|
204             7(?:
205             17|
206             2[569]|
207             3[13]|
208             6[89]|
209             7[01]
210             )
211             )\\d{4}
212             ',
213             'mobile' => '
214             (?:
215             60|
216             8[1245]
217             )\\d{7}
218             ',
219             'pager' => '',
220             'personal_number' => '',
221             'specialrate' => '(8701\\d{5})',
222             'toll_free' => '80\\d{7}',
223             'voip' => '
224             8(?:
225             3\\d\\d|
226             86
227             )\\d{5}
228             '
229             };
230             my %areanames = ();
231             $areanames{en} = {"264662674", "Rundu",
232             "264632950", "Namgorab",
233             "264652621", "Onuno",
234             "264625694", "Leonardville",
235             "264652720", "Oshifo",
236             "264651733", "Oluno",
237             "264641742", "Swakopmund",
238             "26465273", "Opuwo",
239             "264667143", "Rundu",
240             "264631717", "Gibeon",
241             "264677140", "Grootfontein",
242             "264652716", "Ruacana",
243             "26464573", "Omaruru",
244             "264632902", "Rosh\ Pinah",
245             "264625681", "Drimiopsis",
246             "264671792", "Waterberg\ Plateau\ Park",
247             "264672323", "Horabe",
248             "264631725", "Hoachanas",
249             "26464404", "Swakopmund",
250             "264662581", "Nkurenkuru",
251             "264652744", "Etanga",
252             "264632833", "Helmeringhausen",
253             "264671793", "Waterberg\ Plateau\ Park",
254             "264672299", "Mokuti",
255             "264673066", "Klein\ Waterberg",
256             "264632380", "Oranjemund",
257             "264651732", "Oluno",
258             "264641743", "Tsaobis",
259             "264625183", "Ombotozu",
260             "264652645", "Oshigambo",
261             "264652489", "Onathinge",
262             "26464274", "Walvis\ Bay",
263             "264652600", "Ohangwena",
264             "264652701", "Ruacana",
265             "264631704", "Ariamsvlei",
266             "264652663", "Oshikango",
267             "264652652", "Oshikango",
268             "264625686", "Epukiro",
269             "264652582", "Tsandi",
270             "264647027", "Walvis\ Bay",
271             "264673051", "Waterberg\ Plateau\ Park",
272             "264672616", "Uchab",
273             "264631714", "Deurstamp",
274             "264632500", "Gochas",
275             "264645711", "Omaruru",
276             "264621732", "Buitepos",
277             "264652455", "Ongha",
278             "264625697", "Blumfelde",
279             "26463203", "Luderitz",
280             "26463241", "Mariental",
281             "264651729", "Okangwati",
282             "264662597", "Sambyu",
283             "26463234", "Oranjemund",
284             "264652728", "Opuwo",
285             "264673061", "Otjiwarongo",
286             "264677173", "Otjiwarongo",
287             "264652653", "Oshikango",
288             "264631746", "Luderitz",
289             "264652747", "Kaoko\ Otavi",
290             "264662586", "Mashare",
291             "264671776", "Otjiwarongo",
292             "264631736", "Keetmanshoop",
293             "264652890", "Okankolo",
294             "264651765", "Oshakati",
295             "264651770", "Oshikango",
296             "264652885", "Okongo",
297             "264625608", "Otjiwa",
298             "264625817", "Nina",
299             "264661717", "Nkurenkuru",
300             "26463233", "Oranjemund",
301             "264673339", "Kamanjab",
302             "264621743", "Hochland",
303             "264625807", "Plessisplaas",
304             "264661725", "Rupara",
305             "264625618", "Summerdown",
306             "264661707", "Kahenge",
307             "264671767", "Etosha\ Rurtel",
308             "26463204", "Luderitz",
309             "264671757", "Etosha\ Rurtel",
310             "264625720", "Namib\ Grens",
311             "264641729", "Swakopmund",
312             "264632750", "Kalahariplaas",
313             "264632404", "Mariental",
314             "264645539", "Karibib",
315             "264632651", "Schilp",
316             "264632581", "Aus",
317             "264625716", "Eland",
318             "26462573", "Dordabis",
319             "264627024", "Hosea\ Kutako\ INT\ Airport",
320             "264673168", "Okakarara",
321             "264652681", "Edundja",
322             "264632712", "Karasburg",
323             "26467307", "Otjiwarongo",
324             "264672900", "Kalkfeld",
325             "264662508", "Ngoma",
326             "264661704", "Bunia",
327             "264652635", "Eenhana",
328             "26464273", "Walvis\ Bay",
329             "264671764", "Okorusu",
330             "264672493", "Grootfontein",
331             "264625804", "Eland",
332             "26463229", "Keetmanshoop",
333             "264673322", "Sorris\-Sorris",
334             "264631759", "Noordoewer",
335             "264652523", "Okahao",
336             "264651742", "Onathinge",
337             "264662500", "Nakayale\/Omega",
338             "264621755", "Omitara",
339             "264661714", "Mashare",
340             "264652566", "Elim",
341             "264625814", "Nouas",
342             "26464403", "Swakopmund",
343             "264671771", "Otavi",
344             "264631731", "Karasburg",
345             "264625701", "Witvlei",
346             "264625600", "Seeis",
347             "264651778", "Sesfontein",
348             "264621770", "Summerdown",
349             "26465227", "Oshakati",
350             "264631769", "Rosh\ Pinah",
351             "264672492", "Grootfontein",
352             "264632768", "Aranos",
353             "264625610", "Otjiwa",
354             "264632407", "Mariental",
355             "264632656", "Tsumispark",
356             "264673323", "Sorris\-Sorris",
357             "264671754", "Lindequest",
358             "264652522", "Okahao",
359             "264651743", "Ondangwa",
360             "264632507", "Narubis",
361             "264625685", "Sandveld",
362             "26464402", "Swakopmund",
363             "264662670", "Rundu",
364             "264625690", "Babi\-Babi",
365             "264652625", "Ondobe",
366             "264672450", "Mangetti\ duin",
367             "26464272", "Walvis\ Bay",
368             "264637183", "Keetmanshoop",
369             "264652456", "Oluno",
370             "264641723", "Swakopmund",
371             "264673332", "Biermanskool",
372             "26466251", "Katima\-Mulilo",
373             "264672615", "Uchab",
374             "264632384", "Oranjemund",
375             "26463220", "Keetmanshoop",
376             "264637182", "Keetmanshoop",
377             "264641722", "Rössing\ Mine",
378             "264673333", "Biermanskool",
379             "264652641", "Eenhana",
380             "264652532", "Okahao",
381             "264652740", "Ehomba",
382             "26463221", "Keetmanshoop",
383             "264632719", "Karasburg",
384             "264631745", "Luderitz",
385             "264631718", "Goageb",
386             "264657152", "Oshakati",
387             "264657100", "Oshakati",
388             "264662590", "Bagani",
389             "264673329", "Kamanjab",
390             "26463232", "Oranjemund",
391             "264652748", "Okorosave",
392             "264657145", "Oshakati",
393             "264652715", "Ruacana",
394             "264651749", "Onuno",
395             "264631752", "Mariental",
396             "264631763", "Oranjemund",
397             "264652451", "Oshitayi",
398             "264625393", "Rietoog",
399             "2646441", "Swakopmund",
400             "264651782", "Tsandi",
401             "264652853", "Okashana",
402             "264631710", "Bethanie",
403             "264673055", "Okorusu",
404             "264625698", "Blumfelde",
405             "264673065", "Klein\ Waterberg",
406             "26463210", "Luderitz",
407             "264651783", "Warmquelle",
408             "264632849", "Bethanie",
409             "264652800", "Ondangwa",
410             "264652863", "Onankali",
411             "264647028", "Swakopmund",
412             "264652646", "Oshikango",
413             "264652461", "Oluno",
414             "264631753", "Mariental",
415             "264631762", "Oamseb",
416             "264625392", "Rietoog",
417             "264632387", "Oranjemund",
418             "264652483", "Onandjokwe",
419             "264673167", "Okakarara",
420             "264651774", "Otwani",
421             "264661721", "Rundu",
422             "26462505", "Okahandja",
423             "26463202", "Luderitz",
424             "264652894", "Oshikunde",
425             "264652636", "Eenhana",
426             "264641749", "Usakos",
427             "264651761", "Opuwo",
428             "264672293", "Etosha\ Rurtel\/Namutoni",
429             "264632839", "Bethanie",
430             "264652570", "Ogongo",
431             "264652565", "Elim",
432             "264671799", "Grootfontein",
433             "26463251", "Gibeon",
434             "264621756", "Otjihase",
435             "264621766", "Sandveld",
436             "264661708", "Katima\-Mulilo",
437             "264671768", "Etosha\ Rurtel",
438             "264625808", "Otjinene",
439             "264625617", "Summerdown",
440             "264652449", "Omuthiya",
441             "264672292", "Etosha\ Rurtel\/Lindequest",
442             "264672329", "Coblenz",
443             "264645319", "Usakos",
444             "264651751", "Onesi",
445             "264632754", "Bralano",
446             "264652690", "Omungwelume",
447             "264661718", "Nakayale\/Nkurenkuru",
448             "264632655", "Tsumispark",
449             "264625607", "Otjiwa",
450             "264625818", "Dordabis",
451             "264652482", "Onandjokwe",
452             "264651739", "Omungwelume",
453             "264652589", "Onesi",
454             "264621751", "Okahandja",
455             "264647162", "Swakopmund",
456             "26461", "Windhoek",
457             "264632408", "Mariental",
458             "264652886", "Ekoka",
459             "264651766", "Oshakati",
460             "264625800", "Epukiro",
461             "264671760", "Okakarara",
462             "264671775", "Otjiwarongo",
463             "264631735", "Keetmanshoop",
464             "264652631", "Eenhana",
465             "264651723", "Ohangwena",
466             "264621739", "Gobabis",
467             "264651777", "Ruacana",
468             "264661726", "Ruuga",
469             "264625810", "Leonardville",
470             "26464572", "Omaruru",
471             "264661710", "Katima\-Mulilo",
472             "264662504", "Kongola",
473             "264651722", "Ohandungu",
474             "264625715", "Eland",
475             "264625604", "Buitepos",
476             "264647100", "Walvis\ Bay",
477             "264651756", "Ongwediva",
478             "264625614", "Steinhausen",
479             "264621761", "Rehoboth",
480             "264671773", "Otjiwarongo",
481             "26462504", "Okahandja",
482             "264631733", "Karasburg",
483             "264625702", "Witvlei",
484             "264651717", "Mahenene",
485             "264642118", "Walvis\ Bay",
486             "264645521", "Karibib",
487             "26467224", "Tsumeb",
488             "264652521", "Okahao",
489             "264662574", "Matava",
490             "264621746", "Many\ Hills",
491             "264671748", "Kamanjab",
492             "264651707", "Ehomba",
493             "264672491", "Grootfontein",
494             "264651725", "Ohangwena",
495             "264651741", "Onandjokwe",
496             "264673321", "Khorixas",
497             "264625674", "Epukiro",
498             "264632261", "Keetmanshoop",
499             "26462519", "Okandjatu",
500             "264652459", "Oluno",
501             "264652545", "Oshikuku",
502             "264631732", "Karasburg",
503             "264632807", "Aroab",
504             "264645508", "Tsaobis\/Karibib",
505             "264652508", "Ombalantu",
506             "264625703", "Witvlei",
507             "264647165", "Walvis\ Bay",
508             "26464219", "Walvis\ Bay",
509             "264652490", "Onathinge",
510             "26463257", "Tses",
511             "264651704", "Edundja",
512             "264652649", "Oshikango",
513             "264621741", "Groot\–Aub",
514             "26467313", "Outjo",
515             "264652526", "Okahao",
516             "264662577", "Muveke",
517             "264632610", "Oamseb",
518             "264651714", "Haiyandja",
519             "264632711", "Karasburg",
520             "264672295", "Etosha\ Rurtel\/Ombika",
521             "264652682", "Edundja",
522             "26465241", "Ondangwa",
523             "264642110", "Langstrand",
524             "264652562", "Onaanda",
525             "264652683", "Ongenga",
526             "264631729", "Kalkrand",
527             "26467242", "Grootfontein",
528             "26465234", "Ongwediva",
529             "26465240", "Ondangwa",
530             "264671740", "Abenab",
531             "264632583", "Guibis",
532             "264625677", "Otjinene",
533             "264632653", "Hoachanas",
534             "264673326", "Kamanjab",
535             "264651746", "Ondangwa",
536             "264667030", "Rundu",
537             "264651736", "Ombalantu",
538             "264631770", "Rosh\ Pinah",
539             "264631765", "Oranjemund",
540             "264645713", "Omaruru",
541             "264641704", "Henties\ Bay",
542             "264673053", "Otjiwarongo",
543             "264645316", "Usakos",
544             "26465233", "Ongwediva",
545             "264672310", "Kombat",
546             "264652320", "Ongwediva",
547             "264672440", "Tsumkwe",
548             "264621769", "Steinhausen",
549             "264641714", "Omaruru",
550             "264672326", "Maroelaboom",
551             "264652446", "Omuthiya",
552             "264673062", "Klein\ Waterberg",
553             "264673052", "Otjiwarongo",
554             "26464504", "Uis",
555             "264621759", "Otjozondu",
556             "264652870", "Oniingo",
557             "264652581", "Tsandi",
558             "264672982", "Tsumeb",
559             "264652651", "Oshikango",
560             "264652750", "Otwani",
561             "264652702", "Ruacana",
562             "264673063", "Klein\ Waterberg",
563             "26463293", "Maltahohe\/Solitaire",
564             "264671787", "Tsumeb",
565             "264641746", "Usakos",
566             "264645712", "Omaruru",
567             "264631755", "Mariental",
568             "264657142", "Oshakati",
569             "264645221", "Rössing\ Mine",
570             "26466381", "Maltahohe",
571             "264641717", "Omaruru",
572             "264662600", "Mpungu",
573             "264652441", "Omuthiya",
574             "264652666", "Omafu",
575             "264625683", "Plessisplaas",
576             "264632523", "Asab",
577             "264651759", "Ondundu",
578             "264662582", "Nyangana",
579             "264637190", "Keetmanshoop",
580             "264641707", "Karibib",
581             "264652535", "Okalongo",
582             "26462540", "Neudamm\/Hosea\ Kutako\ INT\ Airport",
583             "264641725", "Swakopmund",
584             "26467248", "Grootfontein",
585             "264652677", "Odibo",
586             "264637185", "Keetmanshoop",
587             "264651731", "Okorosave",
588             "264652623", "Okatope",
589             "264632901", "Rosh\ Pinah",
590             "264673335", "Toshari",
591             "264625181", "Otjozondu",
592             "264677029", "Grootfontein",
593             "264631778", "Uhabis",
594             "264641741", "Swakopmund",
595             "26467223", "Tsumeb",
596             "264671784", "Tsumeb",
597             "26463227", "Keetmanshoop",
598             "264652622", "Okatope",
599             "26466269", "Rundu",
600             "264651769", "Oshigambo",
601             "264673180", "Okamatapati",
602             "264652328", "Ongwediva",
603             "26463274", "Rosh\ Pinah",
604             "264657165", "Oshakati",
605             "264671791", "Waterberg\ Plateau\ Park",
606             "264625682", "Plessisplaas",
607             "264631743", "Lorelei",
608             "26462503", "Okahandja\/Ovitoto\/Wilhelmstal",
609             "264632831", "Bethanie",
610             "264632522", "Asab",
611             "264672359", "Otavi",
612             "264652525", "Okahao",
613             "264632808", "Kais",
614             "264652507", "Ombalantu",
615             "26466261", "Katima\-Mulilo",
616             "264637034", "Keetmanshoop",
617             "264651721", "Ogongo",
618             "264652633", "Eenhana",
619             "26464461", "Swakopmund",
620             "264621762", "Rehoboth",
621             "264652290", "Oshakati",
622             "264672296", "Etosha\ Rurtel\/Ongava",
623             "264625410", "Otjihase",
624             "26463683", "Keetmanshoop",
625             "264662570", "Sikono",
626             "264621763", "Rehoboth",
627             "26464520", "Rössing\ Mine",
628             "26465220", "Oshakati",
629             "264651708", "Elim",
630             "264671747", "Kalkfeld",
631             "26462502", "Okahandja",
632             "264621752", "Okahandja",
633             "264651745", "Ondangwa",
634             "26465221", "Oshakati",
635             "264652719", "Ruacana",
636             "264673325", "Sorris\-Sorris",
637             "26462549", "Hochfeld",
638             "264637100", "Keetmanshoop",
639             "26467222", "Tsumeb",
640             "264652632", "Eenhana",
641             "264651752", "Ongenga",
642             "264662589", "Rundu",
643             "264673090", "Okaputa",
644             "264631749", "Maltahohe",
645             "264625678", "Otjinene",
646             "264672291", "Etosha\ Rurtel",
647             "264651763", "Oshakati",
648             "264652494", "Onathinge",
649             "264625421", "Groot\–Aub",
650             "264651726", "Ohangwena",
651             "264661723", "Rundu",
652             "264652481", "Onandjokwe",
653             "264651710", "Endola",
654             "264652504", "Anamulenge",
655             "26467230", "Oshivello",
656             "26464510", "Arandis",
657             "264652546", "Oshikuku",
658             "26467301", "Otjiwarongo",
659             "264652629", "Ongha",
660             "264661722", "Rundu",
661             "264632800", "Ariamsvlei",
662             "264625689", "Babi\-Babi",
663             "26464511", "Arandis",
664             "264662578", "Marangi",
665             "264651753", "Ongha",
666             "264652882", "Oshuli",
667             "26467300", "Otjiwarongo",
668             "264632810", "Köes",
669             "264651762", "Orumana",
670             "264677150", "Grootfontein",
671             "264625709", "Witvlei",
672             "264641700", "Arandis",
673             "264667153", "Rundu",
674             "264652665", "Oshikango",
675             "26464276", "Walvis\ Bay",
676             "264631774", "Stampriet",
677             "264625435", "Hosea\ Kutako\ INT\ Airport",
678             "26464502", "Henties\ Bay",
679             "26464550", "Karibib",
680             "264641710", "Langstrand",
681             "264625391", "Klein\ Aub",
682             "264652324", "Ongwediva",
683             "26464406", "Swakopmund",
684             "264652764", "Otjitjekwa",
685             "264652453", "Haiyandja",
686             "264652462", "Oluno",
687             "264641726", "Swakopmund",
688             "26467312", "Outjo",
689             "26463260", "Stampriet",
690             "26464551", "Otjimbingwe",
691             "264652536", "Okalongo",
692             "26465251", "Ombalantu",
693             "264652452", "Haiyandja",
694             "264621735", "Eland",
695             "264652463", "Oluno",
696             "26467331", "Kamanjab\/Khorixas",
697             "264631751", "Mariental",
698             "26464210", "Walvis\ Bay",
699             "26464405", "Swakopmund",
700             "264673336", "Kamanjab",
701             "264632690", "Warmbad",
702             "26464275", "Walvis\ Bay",
703             "264652655", "Oshikango",
704             "26467330", "Kamanjab",
705             "264631739", "Keetmanshoop",
706             "264651781", "Tsandi",
707             "264632309", "Oranjemund",
708             "264671779", "Outjo",
709             "26467243", "Grootfontein",
710             "264652590", "Mahenene",
711             "26463247", "Mariental",
712             "264652822", "Ondangwa",
713             "264652642", "Eenhana",
714             "264652531", "Okahao",
715             "264632589", "Aus",
716             "264667145", "Katima\-Mulilo",
717             "26463626", "Helmeringhausen",
718             "264641721", "Rössing\ Mine",
719             "264631766", "Oranjemund",
720             "264652327", "Ongwediva",
721             "264637181", "Keetmanshoop",
722             "264651735", "Omafu",
723             "264631723", "Hamab",
724             "264652598", "Eunda",
725             "264632730", "Aminuis",
726             "264652689", "Endola",
727             "264631777", "Tsumispark",
728             "264652856", "Onyaanya",
729             "26463236", "Oranjemund",
730             "26463272", "Aranos",
731             "264645315", "Usakos",
732             "264631722", "Guibis",
733             "264645214", "Rössing\ Mine",
734             "26463235", "Oranjemund",
735             "264652866", "Okatope",
736             "26464220", "Walvis\ Bay",
737             "264632835", "Goageb",
738             "264641708", "Karibib",
739             "264652643", "Eenhana",
740             "264672584", "Andara",
741             "264673331", "Kamanjab",
742             "26464221", "Walvis\ Bay",
743             "264641718", "Omaruru",
744             "264632733", "Aminuis",
745             "264671782", "Toshari",
746             "264652624", "Ondobe",
747             "264662671", "Rundu",
748             "264625691", "Leonardville",
749             "264631720", "Grenslyn",
750             "264642119", "Walvis\ Bay",
751             "264652717", "Ruacana",
752             "26463244", "Mariental",
753             "264677145", "Grootfontein",
754             "264625684", "Sandveld",
755             "264671749", "Khorixas",
756             "264632524", "Bulwana",
757             "264652725", "Oshifo",
758             "264631706", "Asab",
759             "264652640", "Eenhana",
760             "264652741", "Sodalite",
761             "264631744", "Luderitz",
762             "26462692", "Central",
763             "264673067", "Klein\ Waterberg",
764             "264652458", "Oluno",
765             "264662591", "Bagani",
766             "26465290", "Eenhana",
767             "264632732", "Aminuis",
768             "264671783", "Tsumeb",
769             "264632385", "Oranjemund",
770             "264652509", "Ombalantu",
771             "264672357", "Otavi",
772             "264631701", "Aminuis",
773             "264652450", "Oshitayi",
774             "26464400", "Swakopmund",
775             "264641713", "Omaruru",
776             "26466252", "Katima\-Mulilo",
777             "264673054", "Okorusu",
778             "264647026", "Walvis\ Bay",
779             "264652648", "Oshikango",
780             "26464271", "Walvis\ Bay",
781             "264632505", "Seeheim",
782             "264625687", "Epukiro",
783             "26466696", "North\ East",
784             "264645714", "Omaruru",
785             "26464401", "Swakopmund",
786             "264652714", "Ruacana",
787             "26467335", "Kamanjab\/Khorixas",
788             "264631711", "Bralano",
789             "264672617", "Uchab",
790             "264641703", "Henties\ Bay",
791             "264625696", "Leonardville",
792             "26464270", "Walvis\ Bay",
793             "264652801", "Ondangwa",
794             "264641702", "Henties\ Bay",
795             "264631728", "Kalkrand",
796             "26462525", "Rehoboth",
797             "264677163", "Otjiwarongo",
798             "264662596", "Sambyu",
799             "264632942", "Kumakams",
800             "26463222", "Keetmanshoop",
801             "26462562", "Gobabis",
802             "264641712", "Leoburn",
803             "264673064", "Klein\ Waterberg",
804             "264632693", "Hamab",
805             "264631747", "Luderitz",
806             "264625731", "Nina",
807             "264662587", "Mashare",
808             "264652746", "Ohandungu",
809             "264652460", "Oluno",
810             "264661720", "Omega",
811             "264631737", "Keetmanshoop",
812             "264632307", "Oranjemund",
813             "264671777", "Otjiwarongo",
814             "264645219", "Rössing\ Mine",
815             "264652736", "Otjerunda",
816             "264661716", "Muveke",
817             "264625816", "Nina",
818             "264651713", "Etunda",
819             "264652880", "Omundaungilo",
820             "264652571", "Ogongo",
821             "26464570", "Omaruru",
822             "264661706", "K\.\ Murangi",
823             "264621768", "Spatzenfeld",
824             "264671766", "Etosha\ Rurtel",
825             "264651703", "Edundja",
826             "264651760", "Opuwo",
827             "264625806", "Summerdown",
828             "264632812", "Deurstamp",
829             "264651775", "Panosa",
830             "264632654", "Hoachanas",
831             "264671756", "Maroelaboom",
832             "264652691", "Omungwelume",
833             "264651702", "Blue\ Sodalite\ Mine",
834             "264625717", "Spatzenfeld",
835             "264632803", "Dawiab",
836             "264651712", "Etunda",
837             "26463200", "Luderitz",
838             "264625801", "Epukiro",
839             "264661701", "Bagani",
840             "264621750", "Okahandja",
841             "26465225", "Oshakati",
842             "264662573", "Bunia",
843             "26466266", "Rundu",
844             "264625672", "Epukiro",
845             "264625811", "Leonardville",
846             "26463201", "Luderitz",
847             "264652567", "Elim",
848             "264661711", "Kongola",
849             "264652630", "Eenhana",
850             "264671774", "Otjiwarongo",
851             "264631734", "Karasburg",
852             "26463228", "Keetmanshoop",
853             "264625704", "Witvlei",
854             "264631779", "Warmbad",
855             "26463243", "Mariental",
856             "264625615", "Steinhausen",
857             "264661728", "Nyangana",
858             "264651768", "Oshifo",
859             "26466265", "Rundu",
860             "26465226", "Oshakati",
861             "264621760", "Plessisplaas",
862             "264652329", "Ongwediva",
863             "264671751", "Khorixas",
864             "264662572", "Hakasembe",
865             "264632406", "Mariental",
866             "264625605", "Otjiwa",
867             "264632657", "Tsumispark",
868             "264652888", "Epembe",
869             "264625673", "Epukiro",
870             "264677141", "Grootfontein",
871             "264672358", "Otavi",
872             "264632809", "Ariamsvlei",
873             "264652620", "Onuno",
874             "264672455", "Gam",
875             "264652721", "Oshifo",
876             "264631724", "Helmeringhausen",
877             "264657031", "Ondangwa",
878             "264645212", "Rössing\ Mine",
879             "264652457", "Oluno",
880             "264673068", "Omatjene",
881             "264625695", "Leonardville",
882             "264632520", "Grenslyn",
883             "26467317", "Okakarara",
884             "264625680", "Drimiopsis",
885             "264651709", "Elim",
886             "264632381", "Oranjemund",
887             "264662580", "Nkurenkuru",
888             "264652644", "Oshigambo",
889             "264631740", "Klein\ Karas",
890             "264672583", "Andara",
891             "264644650", "Swakopmund",
892             "264652718", "Ruacana",
893             "264651719", "Ombombo",
894             "264652745", "Okangwati",
895             "264637192", "Keetmanshoop",
896             "26466385", "Namgorab",
897             "26463242", "Mariental",
898             "264645213", "Rössing\ Mine",
899             "264652752", "Ombombo",
900             "264631715", "Feldschuhorn",
901             "26463224", "Keetmanshoop",
902             "264631748", "Luderitz",
903             "264625679", "Otjinene",
904             "264673050", "Waterberg\ Plateau\ Park",
905             "264662588", "Nyangana",
906             "264652601", "Ohangwena",
907             "264652454", "Ongha",
908             "264652700", "Ruacana",
909             "264631727", "Kalahariplaas",
910             "264652710", "Etoto",
911             "26462564", "Gobabis",
912             "264632501", "Gochas",
913             "264645710", "Omaruru",
914             "264631772", "Seeheim",
915             "264652628", "Ongha",
916             "26466254", "Katima\-Mulilo",
917             "264672350", "Uib",
918             "264647130", "Walvis\ Bay",
919             "264662579", "Kahenge",
920             "264652464", "Oluno",
921             "264672312", "Kombat",
922             "264652753", "Warmquelle",
923             "264625688", "Epukiro",
924             "264652647", "Oshikango",
925             "264632386", "Oranjemund",
926             "264673060", "Otjiwarongo",
927             "264652762", "Kowares",
928             "264652560", "Etilyasa",
929             "264652503", "Anamulenge",
930             "264642112", "Langstrand",
931             "264662506", "Ngoma",
932             "26463248", "Mariental",
933             "264651771", "Oshikuku",
934             "264661724", "Rundu",
935             "264671789", "Uchab",
936             "26464176", "Walvis\ Bay",
937             "264625718", "Spatzenfeld",
938             "264632660", "Klein\ Karas",
939             "264651764", "Oshakati",
940             "264652493", "Onathinge",
941             "26466253", "Katima\-Mulilo",
942             "264671742", "Sorris\-Sorris",
943             "264652884", "Okongo",
944             "264625616", "Summerdown",
945             "26462563", "Gobabis",
946             "264652492", "Onathinge",
947             "264621767", "Seeis",
948             "264657130", "Oshakati",
949             "264627025", "Hosea\ Kutako\ INT\ Airport",
950             "264625721", "Friedental",
951             "26464694", "Central",
952             "264651754", "Ongha",
953             "264632650", "Schilp",
954             "264632580", "Aus",
955             "264671743", "Biermanskool",
956             "26464175", "Walvis\ Bay",
957             "264632405", "Mariental",
958             "264672901", "Kalkfeld",
959             "264625606", "Otjiwa",
960             "264632308", "Oranjemund",
961             "264631738", "Keetmanshoop",
962             "264671778", "Outjo",
963             "26463223", "Keetmanshoop",
964             "264625815", "Nouas",
965             "264632699", "Uhabis",
966             "264661715", "Matava",
967             "264621754", "Ombotozu",
968             "264651767", "Oshakati",
969             "264651776", "Ruacana",
970             "264652688", "Endola",
971             "264661727", "Sikono",
972             "264625805", "Drimiopsis",
973             "264671765", "Omatjene",
974             "264652896", "Onyuulaye",
975             "264671770", "Otavi",
976             "264661705", "Hakasembe",
977             "264652634", "Eenhana",
978             "264631730", "Karasburg",
979             "264632300", "Oranjemund",
980             "264662501", "Nakayale",
981             "264647172", "Swakopmund",
982             "264621771", "Hosea\ Kutako\ INT\ Airport",
983             "26463239", "Oranjemund",
984             "264641709", "Langstrand",
985             "264625700", "Witvlei",
986             "264625601", "Seeis",
987             "264651757", "Ongwediva",
988             "26463297", "Noordoewer",
989             "264625611", "Otjiwa",
990             "264651720", "Odibo",
991             "264661713", "Marangi",
992             "26465230", "Ongwediva",
993             "26464530", "Usakos",
994             "264625813", "Blumfelde",
995             "264651716", "Kunene\ River\ Lodge",
996             "264621747", "Namib\ Grens",
997             "264625411", "Otjihase",
998             "264652524", "Okahao",
999             "264662571", "Ruuga",
1000             "264661703", "Bukalo",
1001             "264671700", "Andara",
1002             "264671763", "Okaukuejo",
1003             "264672494", "Grootfontein",
1004             "264651706", "Eenhana",
1005             "264625803", "Epukiro",
1006             "26465231", "Ongwediva",
1007             "264637035", "Luderitz",
1008             "264632264", "Deurstamp",
1009             "264673324", "Sorris\-Sorris",
1010             "264671753", "Kombat",
1011             "264651744", "Ondangwa",
1012             "264661702", "Bagani",
1013             "264671762", "Okaputa",
1014             "264625802", "Epukiro",
1015             "264672298", "Etosha\ Rurtel\/Okaukuejo",
1016             "26464512", "Arandis",
1017             "26467302", "Otjiwarongo",
1018             "264661712", "Mpacha",
1019             "264632806", "Aroab",
1020             "264625812", "Blumfelde",
1021             "264652488", "Onathinge",
1022             "264672290", "Etosha\ Rurtel",
1023             "264632389", "Luderitz\ \-\ Elizabeth\ Bay",
1024             "264651701", "Anamulenge",
1025             "264625420", "Groot\–Aub",
1026             "264662576", "Rupara",
1027             "264652692", "Omungwelume",
1028             "264673091", "Okaputa",
1029             "264632714", "Karasburg",
1030             "264651711", "Etanga",
1031             "26464462", "Swakopmund",
1032             "264671745", "Halali",
1033             "26467221", "Tsumeb",
1034             "26462500", "Okahandja",
1035             "264632801", "Ariamsvlei",
1036             "264651728", "Okalongo",
1037             "264652729", "Opuwo",
1038             "26465222", "Oshakati",
1039             "26462501", "Okahandja",
1040             "264632811", "Gaibis",
1041             "26467220", "Tsumeb",
1042             "2646520", "Oshakati",
1043             "264651747", "Ondangwa",
1044             "264632267", "Feldschuhorn",
1045             "264632403", "Mariental",
1046             "264673327", "Kamanjab",
1047             "264652572", "Ogongo",
1048             "264625676", "Otjinene",
1049             "264652850", "Omutsewonime",
1050             "264652325", "Ongwediva",
1051             "264651737", "Ombalantu",
1052             "264625609", "Otjiwa",
1053             "264677151", "Grootfontein",
1054             "264641701", "Arandis",
1055             "264631713", "Dawiab",
1056             "26467308", "Otjiwarongo",
1057             "264672315", "Rietfontein",
1058             "264673338", "Kamanjab",
1059             "26463270", "Karasburg",
1060             "264645317", "Usakos",
1061             "264652447", "Omuthiya",
1062             "264672327", "Maroelaboom",
1063             "264625434", "Hosea\ Kutako\ INT\ Airport",
1064             "264641711", "Langstrand",
1065             "264625390", "Klein\ Aub",
1066             "264631775", "Stinkdoring",
1067             "264631760", "Noordoewer",
1068             "264631703", "Aranos",
1069             "264652664", "Oshikango",
1070             "264652654", "Oshikango",
1071             "264662640", "Nyangana",
1072             "264641728", "Swakopmund",
1073             "264631750", "Maltahohe",
1074             "264671797", "Grootfontein",
1075             "264625733", "Nouas",
1076             "264632837", "Lorelei",
1077             "264632691", "Warmbad",
1078             "264631702", "Aminuis",
1079             "264641747", "Usakos",
1080             "264621734", "Drimiopsis",
1081             "264671786", "Tsumeb",
1082             "264652591", "Mahenene",
1083             "264673169", "Okakarara",
1084             "2646420", "Walvis\ Bay",
1085             "264631712", "Bulwana",
1086             "264652755", "Sesfontein",
1087             "264652860", "Okapuku",
1088             "26465200", "Ombalantu",
1089             "264652667", "Omafu",
1090             "26464500", "Henties\ Bay",
1091             "264637180", "Keetmanshoop",
1092             "264641716", "Omaruru",
1093             "26464173", "Swakopmund",
1094             "264652742", "Panosa",
1095             "26462522", "Rehoboth",
1096             "26464501", "Henties\ Bay",
1097             "26463262", "Grunau",
1098             "26462565", "Gobabis",
1099             "264641706", "Henties\ Bay",
1100             "264625693", "Leonardville",
1101             "264662673", "Rundu",
1102             "264632731", "Aminuis",
1103             "264651734", "Oluno",
1104             "264652676", "Odibo",
1105             "264662592", "Bagani",
1106             "264662627", "Katima\-Mulilo",
1107             "26466256", "Rundu",
1108             "26466255", "Rundu",
1109             "26466268", "Katima\-Mulilo",
1110             "264652596", "Etunda",
1111             "264662672", "Rundu",
1112             "264625692", "Leonardville",
1113             "264677166", "Kamanjab\/Otavi",
1114             "26465695", "North",
1115             "26462566", "Gobabis",
1116             "264621737", "Friedental",
1117             "264662593", "Bagani",
1118             "26465243", "Ondangwa",
1119             "264625184", "Ombotozu",
1120             "264632769", "Aranos",
1121             "264632696", "Stinkdoring",
1122             "264652743", "Kunene\ River\ Lodge",
1123             "264673330", "Anker",
1124             "264652657", "Oshikango",
1125             "264652587", "Onesi",
1126             "264671794", "Epupa",
1127             "264625602", "Omitara",
1128             "264662575", "Nzinze",
1129             "264651724", "Ohangwena",
1130             "264621772", "Witvlei",
1131             "26463207", "Luderitz",
1132             "264625612", "Otjiwa",
1133             "264672297", "Etosha\ Rurtel",
1134             "26467304", "Otjiwarongo",
1135             "264645520", "Karibib",
1136             "264652520", "Okahao",
1137             "26462523", "Rehoboth",
1138             "26467240", "Grootfontein",
1139             "264625613", "Otjiwa",
1140             "264631709", "Bethanie",
1141             "264651740", "Omutsewonime",
1142             "264621748", "Nina",
1143             "264673320", "Khorixas",
1144             "264671746", "Horabe",
1145             "264632260", "Keetmanshoop",
1146             "264632718", "Karasburg",
1147             "264625675", "Otjinene",
1148             "264625603", "Omitara",
1149             "26467241", "Grootfontein",
1150             "264631719", "Gochas",
1151             "264662502", "Mpacha\/Ngoma",
1152             "26465242", "Ondangwa",
1153             "26467234", "Otavi",
1154             "264652749", "Orumana",
1155             "26465224", "Oshakati",
1156             "264651715", "Kaoko\ Otavi",
1157             "264632752", "Bralano",
1158             "264673328", "Kamanjab",
1159             "264621740", "Gobabis",
1160             "264625722", "Hochland",
1161             "264651748", "Ondobe",
1162             "264652491", "Onathinge",
1163             "264672294", "Etosha\ Rurtel\/Halali",
1164             "264651773", "Otjondeka",
1165             "264651705", "Eenhana",
1166             "264651727", "Okahao",
1167             "264662599", "Muhembo",
1168             "264672902", "Kalkfeld",
1169             "264632611", "Oamseb",
1170             "264651772", "Oshitayi",
1171             "264652547", "Oshikuku",
1172             "264652892", "Omuntele",
1173             "264642111", "Langstrand",
1174             "264672903", "Epupa",
1175             "264671741", "Anker",
1176             "26466423", "Kalahariplaas",
1177             "264632753", "Bralano",
1178             "264632805", "Aroab",
1179             "264625723", "Many\ Hills",
1180             "26463345", "Mariental",
1181             "26464464", "Swakopmund",
1182             "26464463", "Swakopmund",
1183             "26466263", "Katima\-Mulilo",
1184             "264641715", "Omaruru",
1185             "264641748", "Usakos",
1186             "264631771", "Schilp",
1187             "26464407", "Swakopmund",
1188             "264631764", "Oranjemund",
1189             "264652321", "Ongwediva",
1190             "264652675", "Omafu",
1191             "264672441", "Tsumkwe",
1192             "264625430", "Hosea\ Kutako\ INT\ Airport",
1193             "264652537", "Okalongo",
1194             "264641705", "Henties\ Bay",
1195             "264645537", "Karibib",
1196             "264641727", "Swakopmund",
1197             "264671798", "Grootfontein",
1198             "26467697", "North",
1199             "264672311", "Kombat",
1200             "26463693", "South",
1201             "264671759", "Okakarara",
1202             "264661709", "Katima\-Mulilo",
1203             "26463246", "Mariental",
1204             "264652448", "Omuthiya",
1205             "264637130", "Keetmanshoop",
1206             "264652595", "Etunda",
1207             "264625809", "Otjiwa",
1208             "264632492", "Mariental",
1209             "264677165", "Anker\/Braunfels\/Fransfontein",
1210             "264645318", "Usakos",
1211             "264652580", "Tsandi",
1212             "264673337", "Kamanjab",
1213             "264652650", "Oshikango",
1214             "264631754", "Mariental",
1215             "264652751", "Otjondeka",
1216             "264661719", "Nzinze",
1217             "264632502", "Gochas",
1218             "264625819", "Dordabis",
1219             "264645220", "Rössing\ Mine",
1220             "264651738", "Ombalantu",
1221             "26465223", "Oshakati",
1222             "264621730", "Babi\-Babi",
1223             "264672316", "Rietfontein",
1224             "264641724", "Swakopmund",
1225             "264652588", "Onesi",
1226             "26463237", "Oranjemund",
1227             "264632409", "Mariental",
1228             "264632382", "Luderitz",
1229             "264672320", "Abenab",
1230             "264652440", "Omuthiya",
1231             "264637184", "Keetmanshoop",
1232             "264631767", "Oranjemund",
1233             "264652766", "Oruvandjai",
1234             "264621738", "Gobabis",
1235             "264631776", "Tses",
1236             "264651730", "Okatope",
1237             "26467334", "Kamanjab",
1238             "264637191", "Keetmanshoop",
1239             "264625180", "Otjozondu",
1240             "264657032", "Oshakati",
1241             "26462524", "Rehoboth",
1242             "26463811", "Keetmanshoop",
1243             "264632900", "Rosh\ Pinah",
1244             "26467303", "Otjiwarongo",
1245             "264671790", "Uib",
1246             "264673334", "Toshari",
1247             "264632830", "Bethanie",
1248             "264632383", "Luderitz",
1249             "26462577", "Gobabis",
1250             "264671785", "Tsumeb",
1251             "264673181", "Okamatapati",
1252             "26463264", "Kalkrand",};
1253              
1254             sub new {
1255 16     16 1 44 my $class = shift;
1256 16         29 my $number = shift;
1257 16         114 $number =~ s/(^\+264|\D)//g;
1258 16         94 my $self = bless({ country_code => '264', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
1259 16 100       80 return $self if ($self->is_valid());
1260 1         6 $number =~ s/^(?:0)//;
1261 1         45 $self = bless({ country_code => '264', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
1262 1 50       19 return $self->is_valid() ? $self : undef;
1263             }
1264             1;