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