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