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