File Coverage

blib/lib/Number/Phone/StubCountry/PK.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::PK;
20 2     2   1458 use base qw(Number::Phone::StubCountry);
  2         8  
  2         244  
21              
22 2     2   22 use strict;
  2         5  
  2         65  
23 2     2   13 use warnings;
  2         9  
  2         65  
24 2     2   15 use utf8;
  2         6  
  2         15  
25             our $VERSION = 1.20230903131448;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2 $3',
30             'leading_digits' => '[89]0',
31             'national_rule' => '0$1',
32             'pattern' => '(\\d{3})(\\d{3})(\\d{2,7})'
33             },
34             {
35             'format' => '$1 $2',
36             'leading_digits' => '1',
37             'pattern' => '(\\d{4})(\\d{5})'
38             },
39             {
40             'format' => '$1 $2',
41             'leading_digits' => '
42             9(?:
43             2[3-8]|
44             98
45             )|
46             (?:
47             2(?:
48             3[2358]|
49             4[2-4]|
50             9[2-8]
51             )|
52             45[3479]|
53             54[2-467]|
54             60[468]|
55             72[236]|
56             8(?:
57             2[2-689]|
58             3[23578]|
59             4[3478]|
60             5[2356]
61             )|
62             9(?:
63             22|
64             3[27-9]|
65             4[2-6]|
66             6[3569]|
67             9[25-7]
68             )
69             )[2-9]
70             ',
71             'national_rule' => '(0$1)',
72             'pattern' => '(\\d{3})(\\d{6,7})'
73             },
74             {
75             'format' => '$1 $2',
76             'leading_digits' => '
77             (?:
78             2[125]|
79             4[0-246-9]|
80             5[1-35-7]|
81             6[1-8]|
82             7[14]|
83             8[16]|
84             91
85             )[2-9]
86             ',
87             'national_rule' => '(0$1)',
88             'pattern' => '(\\d{2})(\\d{7,8})'
89             },
90             {
91             'format' => '$1 $2',
92             'leading_digits' => '58',
93             'national_rule' => '(0$1)',
94             'pattern' => '(\\d{5})(\\d{5})'
95             },
96             {
97             'format' => '$1 $2',
98             'leading_digits' => '3',
99             'national_rule' => '0$1',
100             'pattern' => '(\\d{3})(\\d{7})'
101             },
102             {
103             'format' => '$1 $2 $3 $4',
104             'leading_digits' => '
105             2[125]|
106             4[0-246-9]|
107             5[1-35-7]|
108             6[1-8]|
109             7[14]|
110             8[16]|
111             91
112             ',
113             'national_rule' => '(0$1)',
114             'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{3})'
115             },
116             {
117             'format' => '$1 $2 $3 $4',
118             'leading_digits' => '[24-9]',
119             'national_rule' => '(0$1)',
120             'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{3})'
121             }
122             ];
123              
124             my $validators = {
125             'fixed_line' => '
126             (?:
127             (?:
128             21|
129             42
130             )[2-9]|
131             58[126]
132             )\\d{7}|
133             (?:
134             2[25]|
135             4[0146-9]|
136             5[1-35-7]|
137             6[1-8]|
138             7[14]|
139             8[16]|
140             91
141             )[2-9]\\d{6,7}|
142             (?:
143             2(?:
144             3[2358]|
145             4[2-4]|
146             9[2-8]
147             )|
148             45[3479]|
149             54[2-467]|
150             60[468]|
151             72[236]|
152             8(?:
153             2[2-689]|
154             3[23578]|
155             4[3478]|
156             5[2356]
157             )|
158             9(?:
159             2[2-8]|
160             3[27-9]|
161             4[2-6]|
162             6[3569]|
163             9[25-8]
164             )
165             )[2-9]\\d{5,6}
166             ',
167             'geographic' => '
168             (?:
169             (?:
170             21|
171             42
172             )[2-9]|
173             58[126]
174             )\\d{7}|
175             (?:
176             2[25]|
177             4[0146-9]|
178             5[1-35-7]|
179             6[1-8]|
180             7[14]|
181             8[16]|
182             91
183             )[2-9]\\d{6,7}|
184             (?:
185             2(?:
186             3[2358]|
187             4[2-4]|
188             9[2-8]
189             )|
190             45[3479]|
191             54[2-467]|
192             60[468]|
193             72[236]|
194             8(?:
195             2[2-689]|
196             3[23578]|
197             4[3478]|
198             5[2356]
199             )|
200             9(?:
201             2[2-8]|
202             3[27-9]|
203             4[2-6]|
204             6[3569]|
205             9[25-8]
206             )
207             )[2-9]\\d{5,6}
208             ',
209             'mobile' => '
210             3(?:
211             [0-24]\\d|
212             3[0-79]|
213             55|
214             64
215             )\\d{7}
216             ',
217             'pager' => '',
218             'personal_number' => '122\\d{6}',
219             'specialrate' => '(900\\d{5})|(
220             (?:
221             2(?:
222             [125]|
223             3[2358]|
224             4[2-4]|
225             9[2-8]
226             )|
227             4(?:
228             [0-246-9]|
229             5[3479]
230             )|
231             5(?:
232             [1-35-7]|
233             4[2-467]
234             )|
235             6(?:
236             0[468]|
237             [1-8]
238             )|
239             7(?:
240             [14]|
241             2[236]
242             )|
243             8(?:
244             [16]|
245             2[2-689]|
246             3[23578]|
247             4[3478]|
248             5[2356]
249             )|
250             9(?:
251             1|
252             22|
253             3[27-9]|
254             4[2-6]|
255             6[3569]|
256             9[2-7]
257             )
258             )111\\d{6}
259             )',
260             'toll_free' => '
261             800\\d{5}(?:
262             \\d{3}
263             )?
264             ',
265             'voip' => ''
266             };
267             my %areanames = ();
268             $areanames{en} = {"929396", "Buner",
269             "929226", "Kohat",
270             "922422", "Naushero\ Feroze",
271             "922335", "Mirpur\ Khas",
272             "929428", "Bajaur\ Agency",
273             "92566", "Sheikhupura",
274             "92494", "Kasur",
275             "928536", "Lasbela",
276             "929693", "Lakki\ Marwat",
277             "926084", "Lodhran",
278             "929425", "Bajaur\ Agency",
279             "922338", "Mirpur\ Khas",
280             "928223", "Zhob",
281             "928477", "Kharan",
282             "92659", "Khanewal",
283             "925464", "Mandi\ Bahauddin",
284             "92615", "Multan",
285             "929383", "Swabi",
286             "92634", "Bahawalnagar",
287             "928386", "Jaffarabad\/Nasirabad",
288             "92663", "Muzaffargarh",
289             "929456", "Lower\ Dir",
290             "922429", "Naushero\ Feroze",
291             "926069", "Layyah",
292             "928249", "Loralai",
293             "92816", "Quetta",
294             "928485", "Khuzdar",
295             "92718", "Sukkur",
296             "92652", "Khanewal",
297             "92743", "Larkana",
298             "92624", "Bahawalpur",
299             "928286", "Musakhel",
300             "928488", "Khuzdar",
301             "928529", "Kech",
302             "922352", "Sanghar",
303             "927266", "Shikarpur",
304             "925446", "Jhelum",
305             "928522", "Kech",
306             "922359", "Sanghar",
307             "922443", "Nawabshah",
308             "929326", "Malakand",
309             "924533", "Bhakkar",
310             "929976", "Mansehra\/Batagram",
311             "9258", "AJK\/FATA",
312             "925433", "Chakwal",
313             "924546", "Khushab",
314             "927227", "Jacobabad",
315             "922436", "Khairpur",
316             "92226", "Hyderabad",
317             "926062", "Layyah",
318             "928293", "Barkhan\/Kohlu",
319             "928242", "Loralai",
320             "928323", "Bolan",
321             "92622", "Bahawalpur",
322             "922385", "Umerkot",
323             "92639", "Bahawalnagar",
324             "928474", "Kharan",
325             "922388", "Umerkot",
326             "928229", "Zhob",
327             "925467", "Mandi\ Bahauddin",
328             "92654", "Khanewal",
329             "929699", "Lakki\ Marwat",
330             "929382", "Swabi",
331             "929389", "Swabi",
332             "929692", "Lakki\ Marwat",
333             "926087", "Lodhran",
334             "928222", "Zhob",
335             "92867", "Gwadar",
336             "92427", "Lahore",
337             "929636", "Tank",
338             "925426", "Narowal",
339             "92256", "Dadu",
340             "922423", "Naushero\ Feroze",
341             "92499", "Kasur",
342             "92645", "Dera\ Ghazi\ Khan",
343             "92668", "Muzaffargarh",
344             "928336", "Sibi\/Ziarat",
345             "928435", "Mastung",
346             "924596", "Mianwali",
347             "925432", "Chakwal",
348             "927224", "Jacobabad",
349             "92713", "Sukkur",
350             "926063", "Layyah",
351             "929445", "Upper\ Dir",
352             "928292", "Barkhan\/Kohlu",
353             "928243", "Loralai",
354             "928322", "Bolan",
355             "928523", "Kech",
356             "928438", "Mastung",
357             "922442", "Nawabshah",
358             "924532", "Bhakkar",
359             "92748", "Larkana",
360             "92686", "Rahim\ Yar\ Khan",
361             "929448", "Upper\ Dir",
362             "92492", "Kasur",
363             "92927", "Karak",
364             "928236", "Killa\ Saifullah",
365             "92632", "Bahawalnagar",
366             "92629", "Bahawalpur",
367             "92476", "Jhang",
368             "922449", "Nawabshah",
369             "922353", "Sanghar",
370             "924539", "Bhakkar",
371             "928299", "Barkhan\/Kohlu",
372             "928329", "Bolan",
373             "925439", "Chakwal",
374             "92517", "Islamabad\/Rawalpindi",
375             "92923", "Nowshera",
376             "92464", "Toba\ Tek\ Singh",
377             "924572", "Pakpattan",
378             "928478", "Kharan",
379             "929466", "Swat",
380             "922384", "Umerkot",
381             "92717", "Sukkur",
382             "928475", "Kharan",
383             "92616", "Multan",
384             "925472", "Hafizabad",
385             "92513", "Islamabad\/Rawalpindi",
386             "929427", "Bajaur\ Agency",
387             "925479", "Hafizabad",
388             "924579", "Pakpattan",
389             "922337", "Mirpur\ Khas",
390             "92214", "Karachi",
391             "92572", "Attock",
392             "92565", "Sheikhupura",
393             "929444", "Upper\ Dir",
394             "92225", "Hyderabad",
395             "927225", "Jacobabad",
396             "928434", "Mastung",
397             "92579", "Attock",
398             "927228", "Jacobabad",
399             "928376", "Jhal\ Magsi",
400             "92863", "Gwadar",
401             "92423", "Lahore",
402             "929923", "Abottabad",
403             "928487", "Khuzdar",
404             "92815", "Quetta",
405             "929373", "Mardan",
406             "92219", "Karachi",
407             "926088", "Lodhran",
408             "922334", "Mirpur\ Khas",
409             "92255", "Dadu",
410             "92928", "Bannu\/N\.\ Waziristan",
411             "92646", "Dera\ Ghazi\ Khan",
412             "92747", "Larkana",
413             "926085", "Lodhran",
414             "929424", "Bajaur\ Agency",
415             "925465", "Mandi\ Bahauddin",
416             "92518", "Islamabad\/Rawalpindi",
417             "925473", "Hafizabad",
418             "925468", "Mandi\ Bahauddin",
419             "924573", "Pakpattan",
420             "922387", "Umerkot",
421             "92469", "Toba\ Tek\ Singh",
422             "929922", "Abottabad",
423             "928484", "Khuzdar",
424             "929372", "Mardan",
425             "92475", "Jhang",
426             "92462", "Toba\ Tek\ Singh",
427             "92212", "Karachi",
428             "92574", "Attock",
429             "92868", "Gwadar",
430             "92428", "Lahore",
431             "92685", "Rahim\ Yar\ Khan",
432             "92667", "Muzaffargarh",
433             "929379", "Mardan",
434             "929447", "Upper\ Dir",
435             "929929", "Abottabad",
436             "928437", "Mastung",
437             "92642", "Dera\ Ghazi\ Khan",
438             "92678", "Vehari",
439             "928252", "Chagai",
440             "922386", "Umerkot",
441             "929464", "Swat",
442             "928335", "Sibi\/Ziarat",
443             "92557", "Gujranwala",
444             "928259", "Chagai",
445             "929635", "Tank",
446             "925425", "Narowal",
447             "928338", "Sibi\/Ziarat",
448             "92447", "Okara",
449             "92488", "Sargodha",
450             "92625", "Bahawalpur",
451             "929638", "Tank",
452             "925428", "Narowal",
453             "929659", "South\ Waziristan",
454             "928235", "Killa\ Saifullah",
455             "92614", "Multan",
456             "929433", "Chitral",
457             "929962", "Shangla",
458             "924598", "Mianwali",
459             "928359", "Dera\ Bugti",
460             "928443", "Kalat",
461             "928238", "Killa\ Saifullah",
462             "92466", "Toba\ Tek\ Singh",
463             "929446", "Upper\ Dir",
464             "922323", "Tharparkar",
465             "922973", "Badin",
466             "92635", "Bahawalnagar",
467             "928436", "Mastung",
468             "924595", "Mianwali",
469             "92495", "Kasur",
470             "92649", "Dera\ Ghazi\ Khan",
471             "928553", "Panjgur",
472             "92216", "Karachi",
473             "928374", "Jhal\ Magsi",
474             "929969", "Shangla",
475             "928352", "Dera\ Bugti",
476             "929652", "South\ Waziristan",
477             "92673", "Vehari",
478             "929426", "Bajaur\ Agency",
479             "92537", "Gujrat",
480             "929228", "Kohat",
481             "928535", "Lasbela",
482             "929398", "Buner",
483             "922336", "Mirpur\ Khas",
484             "92612", "Multan",
485             "929225", "Kohat",
486             "929395", "Buner",
487             "928538", "Lasbela",
488             "929455", "Lower\ Dir",
489             "92417", "Faisalabad",
490             "928253", "Chagai",
491             "928385", "Jaffarabad\/Nasirabad",
492             "929467", "Swat",
493             "929458", "Lower\ Dir",
494             "92407", "Sahiwal",
495             "928388", "Jaffarabad\/Nasirabad",
496             "92576", "Attock",
497             "92483", "Sargodha",
498             "928377", "Jhal\ Magsi",
499             "927265", "Shikarpur",
500             "928449", "Kalat",
501             "928353", "Dera\ Bugti",
502             "92917", "Peshawar\/Charsadda",
503             "928285", "Musakhel",
504             "929653", "South\ Waziristan",
505             "929439", "Chitral",
506             "92644", "Dera\ Ghazi\ Khan",
507             "927268", "Shikarpur",
508             "922979", "Badin",
509             "928486", "Khuzdar",
510             "928552", "Panjgur",
511             "928288", "Musakhel",
512             "922329", "Tharparkar",
513             "928559", "Panjgur",
514             "922322", "Tharparkar",
515             "929978", "Mansehra\/Batagram",
516             "924545", "Khushab",
517             "92527", "Sialkot",
518             "922972", "Badin",
519             "922435", "Khairpur",
520             "929328", "Malakand",
521             "925448", "Jhelum",
522             "92619", "Multan",
523             "929975", "Mansehra\/Batagram",
524             "929432", "Chitral",
525             "92655", "Khanewal",
526             "922438", "Khairpur",
527             "929325", "Malakand",
528             "924548", "Khushab",
529             "929963", "Shangla",
530             "925445", "Jhelum",
531             "928442", "Kalat",
532             "928534", "Lasbela",
533             "92626", "Bahawalpur",
534             "926086", "Lodhran",
535             "92479", "Jhang",
536             "922983", "Thatta",
537             "929394", "Buner",
538             "929637", "Tank",
539             "925427", "Narowal",
540             "92913", "Peshawar\/Charsadda",
541             "929224", "Kohat",
542             "927233", "Ghotki",
543             "926049", "Rajanpur",
544             "92814", "Quetta",
545             "928269", "K\.Abdullah\/Pishin",
546             "928337", "Sibi\/Ziarat",
547             "92224", "Hyderabad",
548             "926042", "Rajanpur",
549             "928384", "Jaffarabad\/Nasirabad",
550             "928262", "K\.Abdullah\/Pishin",
551             "929454", "Lower\ Dir",
552             "92523", "Sialkot",
553             "92689", "Rahim\ Yar\ Khan",
554             "925466", "Mandi\ Bahauddin",
555             "92252", "Dadu",
556             "929959", "Haripur",
557             "928284", "Musakhel",
558             "929662", "D\.I\.\ Khan",
559             "927264", "Shikarpur",
560             "92564", "Sheikhupura",
561             "92682", "Rahim\ Yar\ Khan",
562             "92533", "Gujrat",
563             "92496", "Kasur",
564             "928563", "Awaran",
565             "92259", "Dadu",
566             "92215", "Karachi",
567             "92677", "Vehari",
568             "924597", "Mianwali",
569             "92465", "Toba\ Tek\ Singh",
570             "92487", "Sargodha",
571             "924544", "Khushab",
572             "92448", "Okara",
573             "922434", "Khairpur",
574             "92636", "Bahawalnagar",
575             "92403", "Sahiwal",
576             "92472", "Jhang",
577             "925444", "Jhelum",
578             "92558", "Gujranwala",
579             "929669", "D\.I\.\ Khan",
580             "929324", "Malakand",
581             "929974", "Mansehra\/Batagram",
582             "92413", "Faisalabad",
583             "929952", "Haripur",
584             "928237", "Killa\ Saifullah",
585             "92684", "Rahim\ Yar\ Khan",
586             "929468", "Swat",
587             "928476", "Kharan",
588             "92562", "Sheikhupura",
589             "922989", "Thatta",
590             "92575", "Attock",
591             "926043", "Rajanpur",
592             "929465", "Swat",
593             "928387", "Jaffarabad\/Nasirabad",
594             "92229", "Hyderabad",
595             "928263", "K\.Abdullah\/Pishin",
596             "929457", "Lower\ Dir",
597             "92918", "Peshawar\/Charsadda",
598             "927239", "Ghotki",
599             "929397", "Buner",
600             "925424", "Narowal",
601             "929634", "Tank",
602             "929227", "Kohat",
603             "927232", "Ghotki",
604             "92819", "Quetta",
605             "928334", "Sibi\/Ziarat",
606             "928537", "Lasbela",
607             "92474", "Jhang",
608             "92528", "Sialkot",
609             "922982", "Thatta",
610             "925447", "Jhelum",
611             "929327", "Malakand",
612             "92656", "Khanewal",
613             "929977", "Mansehra\/Batagram",
614             "929953", "Haripur",
615             "928234", "Killa\ Saifullah",
616             "92812", "Quetta",
617             "928569", "Awaran",
618             "924594", "Mianwali",
619             "924547", "Khushab",
620             "927226", "Jacobabad",
621             "922437", "Khairpur",
622             "92538", "Gujrat",
623             "92408", "Sahiwal",
624             "92569", "Sheikhupura",
625             "928562", "Awaran",
626             "92254", "Dadu",
627             "928378", "Jhal\ Magsi",
628             "92443", "Okara",
629             "92222", "Hyderabad",
630             "92418", "Faisalabad",
631             "928287", "Musakhel",
632             "929663", "D\.I\.\ Khan",
633             "92553", "Gujranwala",
634             "927267", "Shikarpur",
635             "928375", "Jhal\ Magsi",
636             "922988", "Thatta",
637             "92555", "Gujranwala",
638             "92519", "Islamabad\/Rawalpindi",
639             "929469", "Swat",
640             "927235", "Ghotki",
641             "92468", "Toba\ Tek\ Singh",
642             "922985", "Thatta",
643             "92445", "Okara",
644             "927238", "Ghotki",
645             "92627", "Bahawalpur",
646             "92422", "Lahore",
647             "92862", "Gwadar",
648             "92218", "Karachi",
649             "925476", "Hafizabad",
650             "928254", "Chagai",
651             "924576", "Pakpattan",
652             "929462", "Swat",
653             "92497", "Kasur",
654             "928565", "Awaran",
655             "928557", "Panjgur",
656             "92869", "Gwadar",
657             "92429", "Lahore",
658             "92676", "Vehari",
659             "928372", "Jhal\ Magsi",
660             "928354", "Dera\ Bugti",
661             "928568", "Awaran",
662             "929654", "South\ Waziristan",
663             "92512", "Islamabad\/Rawalpindi",
664             "929437", "Chitral",
665             "928379", "Jhal\ Magsi",
666             "929964", "Shangla",
667             "928447", "Kalat",
668             "922327", "Tharparkar",
669             "92573", "Attock",
670             "92486", "Sargodha",
671             "922977", "Badin",
672             "92637", "Bahawalnagar",
673             "92415", "Faisalabad",
674             "928257", "Chagai",
675             "928265", "K\.Abdullah\/Pishin",
676             "929463", "Swat",
677             "926045", "Rajanpur",
678             "92405", "Sahiwal",
679             "92924", "Khyber\/Mohmand\ Agy",
680             "928268", "K\.Abdullah\/Pishin",
681             "92463", "Toba\ Tek\ Singh",
682             "926048", "Rajanpur",
683             "92213", "Karachi",
684             "92535", "Gujrat",
685             "92514", "Islamabad\/Rawalpindi",
686             "929958", "Haripur",
687             "922324", "Tharparkar",
688             "922974", "Badin",
689             "92525", "Sialkot",
690             "929955", "Haripur",
691             "92657", "Khanewal",
692             "929434", "Chitral",
693             "929967", "Shangla",
694             "928444", "Kalat",
695             "928373", "Jhal\ Magsi",
696             "929665", "D\.I\.\ Khan",
697             "928357", "Dera\ Bugti",
698             "929657", "South\ Waziristan",
699             "92915", "Peshawar\/Charsadda",
700             "929668", "D\.I\.\ Khan",
701             "929926", "Abottabad",
702             "929376", "Mardan",
703             "928554", "Panjgur",
704             "92578", "Attock",
705             "92424", "Lahore",
706             "92864", "Gwadar",
707             "926044", "Rajanpur",
708             "928382", "Jaffarabad\/Nasirabad",
709             "928264", "K\.Abdullah\/Pishin",
710             "929399", "Buner",
711             "929229", "Kohat",
712             "92653", "Khanewal",
713             "929452", "Lower\ Dir",
714             "92742", "Larkana",
715             "92669", "Muzaffargarh",
716             "92498", "Kasur",
717             "928539", "Lasbela",
718             "928532", "Lasbela",
719             "92446", "Okara",
720             "92638", "Bahawalnagar",
721             "922987", "Thatta",
722             "929392", "Buner",
723             "929633", "Tank",
724             "925423", "Narowal",
725             "92556", "Gujranwala",
726             "929222", "Kohat",
727             "922426", "Naushero\ Feroze",
728             "927237", "Ghotki",
729             "929459", "Lower\ Dir",
730             "928389", "Jaffarabad\/Nasirabad",
731             "928333", "Sibi\/Ziarat",
732             "928448", "Kalat",
733             "924593", "Mianwali",
734             "924542", "Khushab",
735             "922975", "Badin",
736             "92485", "Sargodha",
737             "922432", "Khairpur",
738             "92467", "Toba\ Tek\ Singh",
739             "922325", "Tharparkar",
740             "929438", "Chitral",
741             "926066", "Layyah",
742             "92628", "Bahawalpur",
743             "928246", "Loralai",
744             "928526", "Kech",
745             "925442", "Jhelum",
746             "928445", "Kalat",
747             "92714", "Sukkur",
748             "929322", "Malakand",
749             "922978", "Badin",
750             "927269", "Shikarpur",
751             "929972", "Mansehra\/Batagram",
752             "929435", "Chitral",
753             "922328", "Tharparkar",
754             "929954", "Haripur",
755             "928289", "Musakhel",
756             "928233", "Killa\ Saifullah",
757             "929979", "Mansehra\/Batagram",
758             "928282", "Musakhel",
759             "928558", "Panjgur",
760             "925449", "Jhelum",
761             "929664", "D\.I\.\ Khan",
762             "929329", "Malakand",
763             "922356", "Sanghar",
764             "927262", "Shikarpur",
765             "92749", "Larkana",
766             "928555", "Panjgur",
767             "92662", "Muzaffargarh",
768             "92217", "Karachi",
769             "928567", "Awaran",
770             "92998", "Kohistan",
771             "92675", "Vehari",
772             "924549", "Khushab",
773             "922439", "Khairpur",
774             "929393", "Buner",
775             "925422", "Narowal",
776             "929632", "Tank",
777             "92658", "Khanewal",
778             "929223", "Kohat",
779             "927234", "Ghotki",
780             "92712", "Sukkur",
781             "928332", "Sibi\/Ziarat",
782             "928533", "Lasbela",
783             "929696", "Lakki\ Marwat",
784             "92536", "Gujrat",
785             "92493", "Kasur",
786             "922984", "Thatta",
787             "928226", "Zhob",
788             "92406", "Sahiwal",
789             "92633", "Bahawalnagar",
790             "92664", "Muzaffargarh",
791             "928258", "Chagai",
792             "92577", "Attock",
793             "929386", "Swabi",
794             "92416", "Faisalabad",
795             "926047", "Rajanpur",
796             "928383", "Jaffarabad\/Nasirabad",
797             "928267", "K\.Abdullah\/Pishin",
798             "928339", "Sibi\/Ziarat",
799             "928255", "Chagai",
800             "929639", "Tank",
801             "925429", "Narowal",
802             "929453", "Lower\ Dir",
803             "92623", "Bahawalpur",
804             "92744", "Larkana",
805             "929658", "South\ Waziristan",
806             "928358", "Dera\ Bugti",
807             "928564", "Awaran",
808             "924599", "Mianwali",
809             "928283", "Musakhel",
810             "929655", "South\ Waziristan",
811             "928239", "Killa\ Saifullah",
812             "928355", "Dera\ Bugti",
813             "929667", "D\.I\.\ Khan",
814             "92916", "Peshawar\/Charsadda",
815             "927263", "Shikarpur",
816             "929965", "Shangla",
817             "925443", "Jhelum",
818             "92719", "Sukkur",
819             "922446", "Nawabshah",
820             "929323", "Malakand",
821             "924536", "Bhakkar",
822             "929973", "Mansehra\/Batagram",
823             "929957", "Haripur",
824             "928232", "Killa\ Saifullah",
825             "929968", "Shangla",
826             "925436", "Chakwal",
827             "924592", "Mianwali",
828             "924543", "Khushab",
829             "922433", "Khairpur",
830             "928296", "Barkhan\/Kohlu",
831             "92526", "Sialkot",
832             "928326", "Bolan",
833             "928473", "Kharan",
834             "926089", "Lodhran",
835             "92818", "Quetta",
836             "92617", "Multan",
837             "925462", "Mandi\ Bahauddin",
838             "92716", "Sukkur",
839             "929387", "Swabi",
840             "92529", "Sialkot",
841             "926046", "Rajanpur",
842             "92683", "Rahim\ Yar\ Khan",
843             "92532", "Gujrat",
844             "928266", "K\.Abdullah\/Pishin",
845             "922424", "Naushero\ Feroze",
846             "92402", "Sahiwal",
847             "92473", "Jhang",
848             "92919", "Peshawar\/Charsadda",
849             "925469", "Mandi\ Bahauddin",
850             "929697", "Lakki\ Marwat",
851             "92412", "Faisalabad",
852             "92228", "Hyderabad",
853             "926082", "Lodhran",
854             "928227", "Zhob",
855             "928524", "Kech",
856             "922447", "Nawabshah",
857             "924537", "Bhakkar",
858             "92568", "Sheikhupura",
859             "92409", "Sahiwal",
860             "929956", "Haripur",
861             "925437", "Chakwal",
862             "92912", "Peshawar\/Charsadda",
863             "927223", "Jacobabad",
864             "926064", "Layyah",
865             "928297", "Barkhan\/Kohlu",
866             "928244", "Loralai",
867             "92419", "Faisalabad",
868             "928327", "Bolan",
869             "929375", "Mardan",
870             "929925", "Abottabad",
871             "92554", "Gujranwala",
872             "92539", "Gujrat",
873             "92522", "Sialkot",
874             "929378", "Mardan",
875             "929928", "Abottabad",
876             "929666", "D\.I\.\ Khan",
877             "922354", "Sanghar",
878             "92444", "Okara",
879             "92253", "Dadu",
880             "929694", "Lakki\ Marwat",
881             "92914", "Peshawar\/Charsadda",
882             "928479", "Kharan",
883             "926083", "Lodhran",
884             "922986", "Thatta",
885             "928224", "Zhob",
886             "92813", "Quetta",
887             "92425", "Lahore",
888             "92865", "Gwadar",
889             "922427", "Naushero\ Feroze",
890             "927236", "Ghotki",
891             "92688", "Rahim\ Yar\ Khan",
892             "92746", "Larkana",
893             "92647", "Dera\ Ghazi\ Khan",
894             "925478", "Hafizabad",
895             "92478", "Jhang",
896             "924575", "Pakpattan",
897             "92524", "Sialkot",
898             "92442", "Okara",
899             "928472", "Kharan",
900             "92223", "Hyderabad",
901             "925475", "Hafizabad",
902             "924578", "Pakpattan",
903             "925463", "Mandi\ Bahauddin",
904             "92552", "Gujranwala",
905             "929384", "Swabi",
906             "92563", "Sheikhupura",
907             "92534", "Gujrat",
908             "92449", "Okara",
909             "922357", "Sanghar",
910             "928566", "Awaran",
911             "92515", "Islamabad\/Rawalpindi",
912             "92559", "Gujranwala",
913             "927229", "Jacobabad",
914             "925434", "Chakwal",
915             "927222", "Jacobabad",
916             "926067", "Layyah",
917             "92414", "Faisalabad",
918             "928294", "Barkhan\/Kohlu",
919             "928247", "Loralai",
920             "928324", "Bolan",
921             "928527", "Kech",
922             "92258", "Dadu",
923             "922444", "Nawabshah",
924             "924534", "Bhakkar",
925             "92925", "Hangu\/Orakzai\ Agy",
926             "92404", "Sahiwal",
927             "92666", "Muzaffargarh",
928             "928225", "Zhob",
929             "929423", "Bajaur\ Agency",
930             "929695", "Lakki\ Marwat",
931             "92674", "Vehari",
932             "928228", "Zhob",
933             "922333", "Mirpur\ Khas",
934             "922389", "Umerkot",
935             "929698", "Lakki\ Marwat",
936             "92567", "Sheikhupura",
937             "929388", "Swabi",
938             "928256", "Chagai",
939             "924574", "Pakpattan",
940             "92484", "Sargodha",
941             "922382", "Umerkot",
942             "929385", "Swabi",
943             "92715", "Sukkur",
944             "925474", "Hafizabad",
945             "92643", "Dera\ Ghazi\ Khan",
946             "928356", "Dera\ Bugti",
947             "929656", "South\ Waziristan",
948             "92817", "Quetta",
949             "928439", "Mastung",
950             "929927", "Abottabad",
951             "928483", "Khuzdar",
952             "929377", "Mardan",
953             "929449", "Upper\ Dir",
954             "92618", "Multan",
955             "928325", "Bolan",
956             "929442", "Upper\ Dir",
957             "928295", "Barkhan\/Kohlu",
958             "924538", "Bhakkar",
959             "922448", "Nawabshah",
960             "92227", "Hyderabad",
961             "928432", "Mastung",
962             "925435", "Chakwal",
963             "928328", "Bolan",
964             "928298", "Barkhan\/Kohlu",
965             "922445", "Nawabshah",
966             "924535", "Bhakkar",
967             "925438", "Chakwal",
968             "929966", "Shangla",
969             "929429", "Bajaur\ Agency",
970             "925477", "Hafizabad",
971             "924577", "Pakpattan",
972             "92489", "Sargodha",
973             "922339", "Mirpur\ Khas",
974             "922383", "Umerkot",
975             "92257", "Dadu",
976             "92426", "Lahore",
977             "92866", "Gwadar",
978             "922332", "Mirpur\ Khas",
979             "92679", "Vehari",
980             "92745", "Larkana",
981             "922425", "Naushero\ Feroze",
982             "929422", "Bajaur\ Agency",
983             "922428", "Naushero\ Feroze",
984             "92672", "Vehari",
985             "928248", "Loralai",
986             "929436", "Chitral",
987             "926068", "Layyah",
988             "92648", "Dera\ Ghazi\ Khan",
989             "92926", "Kurram\ Agency",
990             "928525", "Kech",
991             "928446", "Kalat",
992             "92665", "Muzaffargarh",
993             "92687", "Rahim\ Yar\ Khan",
994             "928245", "Loralai",
995             "929443", "Upper\ Dir",
996             "926065", "Layyah",
997             "92613", "Multan",
998             "922326", "Tharparkar",
999             "922976", "Badin",
1000             "928433", "Mastung",
1001             "928489", "Khuzdar",
1002             "928528", "Kech",
1003             "922358", "Sanghar",
1004             "929924", "Abottabad",
1005             "928482", "Khuzdar",
1006             "928556", "Panjgur",
1007             "929374", "Mardan",
1008             "92516", "Islamabad\/Rawalpindi",
1009             "922355", "Sanghar",
1010             "92477", "Jhang",
1011             "92482", "Sargodha",};
1012              
1013             sub new {
1014 19     19 1 58 my $class = shift;
1015 19         35 my $number = shift;
1016 19         124 $number =~ s/(^\+92|\D)//g;
1017 19         141 my $self = bless({ country_code => '92', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
1018 19 100       100 return $self if ($self->is_valid());
1019 1         4 $number =~ s/^(?:0)//;
1020 1         11 $self = bless({ country_code => '92', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
1021 1 50       6 return $self->is_valid() ? $self : undef;
1022             }
1023             1;