File Coverage

blib/lib/Number/Phone/StubCountry/JE.pm
Criterion Covered Total %
statement 20 20 100.0
branch 4 4 100.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 30 30 100.0


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::JE;
20 8     8   4564 use base qw(Number::Phone::StubCountry);
  8         25  
  8         922  
21              
22 8     8   65 use strict;
  8         20  
  8         200  
23 8     8   46 use warnings;
  8         23  
  8         205  
24 8     8   44 use utf8;
  8         14  
  8         47  
25             our $VERSION = 1.20230614174403;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2',
30             'leading_digits' => '8001111',
31             'national_rule' => '0$1',
32             'pattern' => '(\\d{3})(\\d{4})'
33             },
34             {
35             'format' => '$1 $2 $3',
36             'leading_digits' => '845464',
37             'national_rule' => '0$1',
38             'pattern' => '(\\d{3})(\\d{2})(\\d{2})'
39             },
40             {
41             'format' => '$1 $2',
42             'leading_digits' => '800',
43             'national_rule' => '0$1',
44             'pattern' => '(\\d{3})(\\d{6})'
45             },
46             {
47             'format' => '$1 $2',
48             'leading_digits' => '
49             1(?:
50             3873|
51             5(?:
52             242|
53             39[4-6]
54             )|
55             (?:
56             697|
57             768
58             )[347]|
59             9467
60             )
61             ',
62             'national_rule' => '0$1',
63             'pattern' => '(\\d{5})(\\d{4,5})'
64             },
65             {
66             'format' => '$1 $2',
67             'leading_digits' => '
68             1(?:
69             [2-69][02-9]|
70             [78]
71             )
72             ',
73             'national_rule' => '0$1',
74             'pattern' => '(\\d{4})(\\d{5,6})'
75             },
76             {
77             'format' => '$1 $2 $3',
78             'leading_digits' => '
79             [25]|
80             7(?:
81             0|
82             6(?:
83             [03-9]|
84             2[356]
85             )
86             )
87             ',
88             'national_rule' => '0$1',
89             'pattern' => '(\\d{2})(\\d{4})(\\d{4})'
90             },
91             {
92             'format' => '$1 $2',
93             'leading_digits' => '7',
94             'national_rule' => '0$1',
95             'pattern' => '(\\d{4})(\\d{6})'
96             },
97             {
98             'format' => '$1 $2 $3',
99             'leading_digits' => '[1389]',
100             'national_rule' => '0$1',
101             'pattern' => '(\\d{3})(\\d{3})(\\d{4})'
102             }
103             ];
104              
105             my $validators = {
106             'fixed_line' => '1534[0-24-8]\\d{5}',
107             'geographic' => '1534[0-24-8]\\d{5}',
108             'mobile' => '
109             7(?:
110             (?:
111             (?:
112             50|
113             82
114             )9|
115             937
116             )\\d|
117             7(?:
118             00[378]|
119             97[7-9]
120             )
121             )\\d{5}
122             ',
123             'pager' => '
124             76(?:
125             464|
126             652
127             )\\d{5}|
128             76(?:
129             0[0-28]|
130             2[356]|
131             34|
132             4[01347]|
133             5[49]|
134             6[0-369]|
135             77|
136             8[14]|
137             9[139]
138             )\\d{6}
139             ',
140             'personal_number' => '701511\\d{4}',
141             'specialrate' => '(
142             (?:
143             8(?:
144             4(?:
145             4(?:
146             4(?:
147             05|
148             42|
149             69
150             )|
151             703
152             )|
153             5(?:
154             041|
155             800
156             )
157             )|
158             7(?:
159             0002|
160             1206
161             )
162             )|
163             90(?:
164             066[59]|
165             1810|
166             71(?:
167             07|
168             55
169             )
170             )
171             )\\d{4}
172             )|(
173             (?:
174             3(?:
175             0(?:
176             07(?:
177             35|
178             81
179             )|
180             8901
181             )|
182             3\\d{4}|
183             4(?:
184             4(?:
185             4(?:
186             05|
187             42|
188             69
189             )|
190             703
191             )|
192             5(?:
193             041|
194             800
195             )
196             )|
197             7(?:
198             0002|
199             1206
200             )
201             )|
202             55\\d{4}
203             )\\d{4}
204             )',
205             'toll_free' => '
206             80(?:
207             07(?:
208             35|
209             81
210             )|
211             8901
212             )\\d{4}
213             ',
214             'voip' => '56\\d{8}'
215             };
216             my %areanames = ();
217             $areanames{en} = {"442888", "Northern\ Ireland",
218             "4418510", "Great\ Bernera\/Stornoway",
219             "441280", "Buckingham",
220             "4418475", "Thurso",
221             "441834", "Narberth",
222             "441644", "New\ Galloway",
223             "441352", "Mold",
224             "441994", "St\ Clears",
225             "441300", "Cerne\ Abbas",
226             "441609", "Northallerton",
227             "441912", "Tyneside",
228             "442870", "Coleraine",
229             "441925", "Warrington",
230             "441278", "Bridgwater",
231             "441343", "Elgin",
232             "441822", "Tavistock",
233             "441876", "Lochmaddy",
234             "441227", "Canterbury",
235             "4414232", "Harrogate",
236             "441923", "Watford",
237             "441471", "Isle\ of\ Skye\ \-\ Broadford",
238             "441334", "St\ Andrews",
239             "4419648", "Hornsea",
240             "441852", "Kilmelford",
241             "441635", "Newbury",
242             "441845", "Thirsk",
243             "442893", "Ballyclare",
244             "441257", "Coppull",
245             "441681", "Isle\ of\ Mull\ \-\ Fionnphort",
246             "441953", "Wymondham",
247             "4414345", "Haltwhistle",
248             "4414300", "North\ Cave\/Market\ Weighton",
249             "441843", "Thanet",
250             "441771", "Maud",
251             "441633", "Newport",
252             "441322", "Dartford",
253             "4414374", "Clynderwen\ \(Clunderwen\)",
254             "4416865", "Newtown",
255             "442824", "Northern\ Ireland",
256             "441376", "Braintree",
257             "441547", "Knighton",
258             "441942", "Wigan",
259             "441571", "Lochinver",
260             "441955", "Wick",
261             "4414231", "Harrogate\/Boroughbridge",
262             "4412290", "Barrow\-in\-Furness\/Millom",
263             "441692", "North\ Walsham",
264             "442895", "Belfast",
265             "441747", "Shaftesbury",
266             "441864", "Abington\ \(Crawford\)",
267             "441323", "Eastbourne",
268             "4416861", "Newtown\/Llanidloes",
269             "441855", "Ballachulish",
270             "441842", "Thetford",
271             "441271", "Barnstaple",
272             "442881", "Newtownstewart",
273             "4414303", "North\ Cave",
274             "441879", "Scarinish",
275             "441457", "Glossop",
276             "441943", "Guiseley",
277             "4414235", "Harrogate",
278             "441557", "Kirkcudbright",
279             "441900", "Workington",
280             "441624", "Isle\ of\ Man",
281             "4418472", "Thurso",
282             "441606", "Northwich",
283             "441325", "Darlington",
284             "441695", "Skelmersdale",
285             "442892", "Lisburn",
286             "4414341", "Bellingham\/Haltwhistle\/Hexham",
287             "441757", "Selby",
288             "441394", "Felixstowe",
289             "441945", "Wisbech",
290             "4412293", "Millom",
291             "441952", "Telford",
292             "441364", "Ashburton",
293             "441823", "Taunton",
294             "4416862", "Llanidloes",
295             "441355", "East\ Kilbride",
296             "441342", "East\ Grinstead",
297             "441688", "Isle\ of\ Mull\ \-\ Tobermory",
298             "441665", "Alnwick",
299             "441480", "Huntingdon",
300             "4418513", "Stornoway",
301             "441654", "Machynlleth",
302             "442844", "Downpatrick",
303             "441527", "Redditch",
304             "441922", "Walsall",
305             "441670", "Morpeth",
306             "441478", "Isle\ of\ Skye\ \-\ Portree",
307             "441379", "Diss",
308             "441727", "St\ Albans",
309             "441915", "Sunderland",
310             "441578", "Lauder",
311             "441663", "New\ Mills",
312             "441780", "Stamford",
313             "4418471", "Thurso\/Tongue",
314             "441353", "Ely",
315             "441825", "Uckfield",
316             "44241", "Coventry",
317             "441934", "Weston\-super\-Mare",
318             "441913", "Durham",
319             "441778", "Bourne",
320             "4414342", "Bellingham",
321             "441580", "Cranbrook",
322             "441427", "Gainsborough",
323             "441795", "Sittingbourne",
324             "4416974", "Raughton\ Head",
325             "441524", "Lancaster",
326             "4413393", "Aboyne",
327             "442847", "Northern\ Ireland",
328             "441367", "Faringdon",
329             "4418909", "Ayton",
330             "441506", "Bathgate",
331             "441493", "Great\ Yarmouth",
332             "441235", "Abingdon",
333             "441595", "Lerwick\,\ Foula\ \&\ Fair\ Isle",
334             "441301", "Arrochar",
335             "441432", "Hereford",
336             "441724", "Scunthorpe",
337             "44283", "Northern\ Ireland",
338             "442871", "Londonderry",
339             "441889", "Rugeley",
340             "441706", "Rochdale",
341             "441495", "Pontypool",
342             "441292", "Ayr",
343             "44113", "Leeds",
344             "441793", "Swindon",
345             "441908", "Milton\ Keynes",
346             "441732", "Sevenoaks",
347             "441424", "Hastings",
348             "4414372", "Clynderwen\ \(Clunderwen\)",
349             "441937", "Wetherby",
350             "4419757", "Strathdon",
351             "441593", "Lybster",
352             "4415073", "Louth",
353             "441233", "Ashford\ \(Kent\)",
354             "441406", "Holbeach",
355             "4413885", "Stanhope\ \(Eastgate\)",
356             "441470", "Isle\ of\ Skye\ \-\ Edinbane",
357             "441678", "Bala",
358             "441563", "Kilmarnock",
359             "441209", "Redruth",
360             "441986", "Bungay",
361             "441763", "Royston",
362             "441488", "Hungerford",
363             "441244", "Chester",
364             "4419467", "Gosforth",
365             "441465", "Girvan",
366             "441680", "Isle\ of\ Mull\ \-\ Craignure",
367             "441454", "Chipping\ Sodbury",
368             "441262", "Bridlington",
369             "441389", "Dumbarton",
370             "441770", "Isle\ of\ Arran",
371             "4419646", "Patrington",
372             "4414234", "Boroughbridge",
373             "441588", "Bishops\ Castle",
374             "441565", "Knutsford",
375             "441554", "Llanelli",
376             "441570", "Lampeter",
377             "441397", "Fort\ William",
378             "441463", "Inverness",
379             "441765", "Ripon",
380             "441788", "Rugby",
381             "4414371", "Haverfordwest\/Clynderwen\ \(Clunderwen\)",
382             "441754", "Skegness",
383             "441308", "Bridport",
384             "441409", "Holsworthy",
385             "441337", "Ladybank",
386             "441270", "Crewe",
387             "4416864", "Llanidloes",
388             "441462", "Hitchin",
389             "442880", "Carrickmore",
390             "441254", "Blackburn",
391             "4414375", "Clynderwen\ \(Clunderwen\)",
392             "441444", "Haywards\ Heath",
393             "441288", "Bude",
394             "44286", "Northern\ Ireland",
395             "4419759", "Alford\ \(Aberdeen\)",
396             "4414344", "Bellingham",
397             "441562", "Kidderminster",
398             "4417683", "Appleby",
399             "441544", "Kington",
400             "44239", "Portsmouth",
401             "442827", "Ballymoney",
402             "441886", "Bromyard\ \(Knightwick\/Leigh\ Sinton\)",
403             "441709", "Rotherham",
404             "4413881", "Bishop\ Auckland\/Stanhope\ \(Eastgate\)",
405             "4418907", "Ayton",
406             "44116", "Leicester",
407             "441509", "Loughborough",
408             "441744", "St\ Helens",
409             "441263", "Cromer",
410             "441967", "Strontian",
411             "441808", "Tomatin",
412             "441293", "Crawley",
413             "441997", "Strathpeffer",
414             "4413390", "Aboyne\/Ballater",
415             "441792", "Swansea",
416             "441481", "Guernsey",
417             "441837", "Okehampton",
418             "441647", "Moretonhampstead",
419             "441733", "Peterborough",
420             "441671", "Newton\ Stewart",
421             "4413873", "Langholm",
422             "441592", "Kirkcaldy",
423             "441435", "Heathfield",
424             "441386", "Evesham",
425             "441989", "Ross\-on\-Wye",
426             "441492", "Colwyn\ Bay",
427             "4413882", "Stanhope\ \(Eastgate\)",
428             "441535", "Keighley",
429             "441295", "Banbury",
430             "4415070", "Louth\/Alford\ \(Lincs\)\/Spilsby\ \(Horncastle\)",
431             "441433", "Hathersage",
432             "441206", "Colchester",
433             "44131", "Edinburgh",
434             "441224", "Aberdeen",
435             "441581", "New\ Luce",
436             "4418474", "Thurso",
437             "441888", "Turriff",
438             "441865", "Oxford",
439             "441854", "Ullapool",
440             "4414307", "Market\ Weighton",
441             "441623", "Mansfield",
442             "441332", "Derby",
443             "441467", "Inverurie",
444             "4418476", "Tongue",
445             "441870", "Isle\ of\ Benbecula",
446             "441567", "Killin",
447             "4412297", "Millom",
448             "44121", "Birmingham",
449             "442822", "Northern\ Ireland",
450             "441625", "Macclesfield",
451             "441306", "Dorking",
452             "441909", "Worksop",
453             "4420", "London",
454             "441863", "Ardgay",
455             "441324", "Falkirk",
456             "441694", "Church\ Stretton",
457             "441286", "Caernarfon",
458             "441767", "Sandy",
459             "441944", "West\ Heslerton",
460             "441395", "Budleigh\ Salterton",
461             "441501", "Harthill",
462             "441962", "Winchester",
463             "441388", "Bishop\ Auckland",
464             "441354", "Chatteris",
465             "441992", "Lea\ Valley",
466             "441489", "Bishops\ Waltham",
467             "441664", "Melton\ Mowbray",
468             "441797", "Rye",
469             "442845", "Northern\ Ireland",
470             "441655", "Maybole",
471             "441832", "Clopton",
472             "4414346", "Hexham",
473             "441642", "Middlesbrough",
474             "4418517", "Stornoway",
475             "441208", "Bodmin",
476             "441597", "Llandrindod\ Wells",
477             "441237", "Bideford",
478             "441933", "Wellingborough",
479             "441914", "Tyneside",
480             "442843", "Newcastle\ \(Co\.\ Down\)",
481             "441653", "Malton",
482             "441981", "Wormbridge",
483             "441806", "Shetland",
484             "441789", "Stratford\-upon\-Avon",
485             "441497", "Hay\-on\-Wye",
486             "441363", "Crediton",
487             "441824", "Ruthin",
488             "441935", "Yeovil",
489             "441895", "Uxbridge",
490             "4416866", "Newtown",
491             "441652", "Brigg",
492             "442842", "Kircubbin",
493             "4412299", "Millom",
494             "441835", "St\ Boswells",
495             "4414236", "Harrogate",
496             "4419644", "Patrington",
497             "441362", "Dereham",
498             "441289", "Berwick\-upon\-Tweed",
499             "441995", "Garstang",
500             "441344", "Bracknell",
501             "442879", "Magherafelt",
502             "441924", "Wakefield",
503             "441408", "Golspie",
504             "441600", "Monmouth",
505             "441309", "Forres",
506             "441993", "Witney",
507             "441297", "Axminster",
508             "441833", "Barnard\ Castle",
509             "441643", "Minehead",
510             "4415242", "Hornby",
511             "441508", "Brooke",
512             "4414378", "Haverfordwest",
513             "4414309", "Market\ Weighton",
514             "441892", "Tunbridge\ Wells",
515             "441737", "Redhill",
516             "441708", "Romford",
517             "441932", "Weybridge",
518             "442823", "Northern\ Ireland",
519             "441335", "Ashbourne",
520             "441862", "Tain",
521             "441586", "Campbeltown",
522             "441844", "Thame",
523             "441634", "Medway",
524             "441381", "Fortrose",
525             "441963", "Wincanton",
526             "441267", "Carmarthen",
527             "44151", "Liverpool",
528             "441809", "Tomdoun",
529             "441786", "Stirling",
530             "441676", "Meriden",
531             "441333", "Peat\ Inn\ \(Leven\ \(Fife\)\)",
532             "44141", "Glasgow",
533             "442825", "Ballymena",
534             "441970", "Aberystwyth",
535             "441622", "Maidstone",
536             "441392", "Exeter",
537             "441954", "Madingley",
538             "4418519", "Great\ Bernera",
539             "441988", "Wigtown",
540             "442894", "Antrim",
541             "441279", "Bishops\ Stortford",
542             "4415079", "Alford\ \(Lincs\)",
543             "441637", "Newquay",
544             "441608", "Chipping\ Norton",
545             "441400", "Honington",
546             "441543", "Cannock",
547             "441242", "Cheltenham",
548             "441255", "Clacton\-on\-Sea",
549             "441452", "Gloucester",
550             "441445", "Gairloch",
551             "441264", "Andover",
552             "441743", "Shrewsbury",
553             "441871", "Castlebay",
554             "442889", "Fivemiletown",
555             "441545", "Llanarth",
556             "441700", "Rothesay",
557             "44115", "Nottingham",
558             "442897", "Saintfield",
559             "441752", "Plymouth",
560             "4418903", "Coldstream",
561             "441745", "Rhyl",
562             "441443", "Pontypridd",
563             "441957", "Mid\ Yell",
564             "4413399", "Ballater",
565             "4418478", "Thurso",
566             "441253", "Blackpool",
567             "4417687", "Keswick",
568             "44291", "Cardiff",
569             "441347", "Easingwold",
570             "441576", "Lockerbie",
571             "442867", "Lisnaskea",
572             "441522", "Lincoln",
573             "4416868", "Newtown",
574             "441776", "Stranraer",
575             "441223", "Cambridge",
576             "441371", "Great\ Dunmow",
577             "441722", "Salisbury",
578             "4414348", "Hexham",
579             "441980", "Amesbury",
580             "4419750", "Alford\ \(Aberdeen\)\/Strathdon",
581             "441534", "Jersey",
582             "441294", "Ardrossan",
583             "4419645", "Hornsea",
584             "441476", "Grantham",
585             "441225", "Bath",
586             "441978", "Wrexham",
587             "44161", "Manchester",
588             "441422", "Halifax",
589             "441794", "Romsey",
590             "441667", "Nairn",
591             "4414376", "Haverfordwest",
592             "441525", "Leighton\ Buzzard",
593             "44292", "Cardiff",
594             "441878", "Lochboisdale",
595             "441357", "Strathaven",
596             "441234", "Bedford",
597             "441880", "Tarbert",
598             "441594", "Lydney",
599             "441917", "Sunderland",
600             "441725", "Rockbourne",
601             "4419641", "Hornsea\/Patrington",
602             "4413397", "Ballater",
603             "441494", "High\ Wycombe",
604             "4419753", "Strathdon",
605             "442886", "Cookstown",
606             "441827", "Tamworth",
607             "4414238", "Harrogate",
608             "4415077", "Louth",
609             "441425", "Ringwood",
610             "44281", "Northern\ Ireland",
611             "441723", "Scarborough",
612             "441276", "Camberley",
613             "441553", "Kings\ Lynn",
614             "441200", "Clitheroe",
615             "441479", "Grantown\-on\-Spey",
616             "441857", "Sanday",
617             "442837", "Armagh",
618             "441380", "Devizes",
619             "441753", "Slough",
620             "441689", "Orpington",
621             "441464", "Insch",
622             "441245", "Chelmsford",
623             "441252", "Aldershot",
624             "4419642", "Hornsea",
625             "441455", "Hinckley",
626             "441442", "Hemel\ Hempstead",
627             "44114", "Sheffield",
628             "441327", "Daventry",
629             "441564", "Lapworth",
630             "441779", "Peterhead",
631             "441542", "Keith",
632             "441971", "Scourie",
633             "441555", "Lanark",
634             "441453", "Dursley",
635             "441947", "Whitby",
636             "441243", "Chichester",
637             "4418900", "Coldstream\/Ayton",
638             "441764", "Crieff",
639             "441697", "Brampton",
640             "441579", "Liskeard",
641             "44280", "Northern\ Ireland",
642             "441736", "Penzance",
643             "441205", "Boston",
644             "441474", "Gravesend",
645             "4413880", "Bishop\ Auckland\/Stanhope\ \(Eastgate\)",
646             "441450", "Hawick",
647             "4415072", "Spilsby\ \(Horncastle\)",
648             "442848", "Northern\ Ireland",
649             "441536", "Kettering",
650             "441296", "Aylesbury",
651             "4414373", "Clynderwen\ \(Clunderwen\)",
652             "441684", "Malvern",
653             "441469", "Killingholme",
654             "441368", "Dunbar",
655             "441550", "Llandovery",
656             "442821", "Martinstown",
657             "441436", "Helensburgh",
658             "4413392", "Aboyne",
659             "441569", "Stonehaven",
660             "441702", "Southend\-on\-Sea",
661             "441938", "Welshpool",
662             "441383", "Dunfermline",
663             "441750", "Selkirk",
664             "4419756", "Strathdon",
665             "441769", "South\ Molton",
666             "441502", "Lowestoft",
667             "441799", "Saffron\ Walden",
668             "441641", "Strathy",
669             "441520", "Lochcarron",
670             "441487", "Warboys",
671             "441239", "Cardigan",
672             "441599", "Kyle",
673             "4415071", "Louth\/Alford\ \(Lincs\)\/Spilsby\ \(Horncastle\)",
674             "441677", "Bedale",
675             "441720", "Isles\ of\ Scilly",
676             "441885", "Pencombe",
677             "441982", "Builth\ Wells",
678             "441499", "Inveraray",
679             "441398", "Dulverton",
680             "4413391", "Aboyne\/Ballater",
681             "441787", "Sudbury",
682             "4419647", "Patrington",
683             "441883", "Caterham",
684             "441628", "Maidenhead",
685             "441420", "Alton",
686             "442841", "Rostrevor",
687             "441651", "Oldmeldrum",
688             "441766", "Porthmadog",
689             "441287", "Guisborough",
690             "4413395", "Aboyne",
691             "441983", "Isle\ of\ Wight",
692             "441361", "Duns",
693             "441566", "Launceston",
694             "441307", "Forfar",
695             "441882", "Kinloch\ Rannoch",
696             "442877", "Limavady",
697             "441439", "Helmsley",
698             "441466", "Huntly",
699             "442311", "Southampton",
700             "4418906", "Ayton",
701             "441968", "Penicuik",
702             "441985", "Warminster",
703             "441539", "Kendal",
704             "441299", "Bewdley",
705             "442828", "Larne",
706             "4418514", "Great\ Bernera",
707             "441931", "Shap",
708             "4415075", "Spilsby\ \(Horncastle\)",
709             "441202", "Bournemouth",
710             "441274", "Bradford",
711             "441405", "Goole",
712             "4412294", "Barrow\-in\-Furness",
713             "4419649", "Hornsea",
714             "441807", "Ballindalloch",
715             "441269", "Ammanford",
716             "441382", "Dundee",
717             "441838", "Dalmally",
718             "441440", "Haverhill",
719             "441496", "Port\ Ellen",
720             "441503", "Looe",
721             "4414370", "Haverfordwest\/Clynderwen\ \(Clunderwen\)",
722             "442884", "Northern\ Ireland",
723             "441250", "Blairgowrie",
724             "441403", "Horsham",
725             "441236", "Coatbridge",
726             "441621", "Maldon",
727             "441540", "Kingussie",
728             "4414304", "North\ Cave",
729             "441505", "Johnstone",
730             "441740", "Sedgefield",
731             "441796", "Pitlochry",
732             "441330", "Banchory",
733             "441277", "Brentwood",
734             "441639", "Neath",
735             "441451", "Stow\-on\-the\-Wold",
736             "4414340", "Bellingham\/Haltwhistle\/Hexham",
737             "44247", "Coventry",
738             "4414305", "North\ Cave",
739             "441241", "Arbroath",
740             "442887", "Dungannon",
741             "4414233", "Boroughbridge",
742             "4419758", "Strathdon",
743             "441872", "Truro",
744             "4416860", "Newtown\/Llanidloes",
745             "442820", "Ballycastle",
746             "441916", "Tyneside",
747             "441228", "Carlisle",
748             "441751", "Pickering",
749             "441666", "Malmesbury",
750             "441959", "Westerham",
751             "442899", "Northern\ Ireland",
752             "4412295", "Barrow\-in\-Furness",
753             "441356", "Brechin",
754             "4415074", "Alford\ \(Lincs\)",
755             "441946", "Whitehaven",
756             "441284", "Bury\ St\ Edmunds",
757             "441830", "Kirkwhelpington",
758             "4418515", "Stornoway",
759             "4418470", "Thurso\/Tongue",
760             "441258", "Blandford",
761             "441349", "Dingwall",
762             "441326", "Falmouth",
763             "441929", "Wareham",
764             "441721", "Peebles",
765             "441372", "Esher",
766             "441304", "Dover",
767             "441748", "Richmond",
768             "4413394", "Ballater",
769             "4416973", "Wigton",
770             "441603", "Norwich",
771             "441548", "Kingsbridge",
772             "441856", "Orkney",
773             "442840", "Banbridge",
774             "442896", "Belfast",
775             "441650", "Cemmaes\ Road",
776             "441458", "Glastonbury",
777             "441359", "Pakenham",
778             "4418473", "Thurso",
779             "441484", "Huddersfield",
780             "441248", "Bangor\ \(Gwynedd\)",
781             "4418908", "Coldstream",
782             "441669", "Rothbury",
783             "441360", "Killearn",
784             "441375", "Grays\ Thurrock",
785             "4412292", "Barrow\-in\-Furness",
786             "441674", "Montrose",
787             "441919", "Durham",
788             "441758", "Pwllheli",
789             "4418511", "Great\ Bernera\/Stornoway",
790             "442310", "Portsmouth",
791             "441784", "Staines",
792             "441829", "Tarporley",
793             "441558", "Llandeilo",
794             "441584", "Ludlow",
795             "441636", "Newark\-on\-Trent",
796             "441373", "Frome",
797             "4414302", "North\ Cave",
798             "4415396", "Sedbergh",
799             "441859", "Harris",
800             "441477", "Holmes\ Chapel",
801             "441728", "Saxmundham",
802             "441875", "Tranent",
803             "4412291", "Barrow\-in\-Furness\/Millom",
804             "4414230", "Harrogate\/Boroughbridge",
805             "4417684", "Pooley\ Bridge",
806             "441528", "Laggan",
807             "4414343", "Haltwhistle",
808             "441687", "Mallaig",
809             "441926", "Warwick",
810             "4418512", "Stornoway",
811             "441777", "Retford",
812             "441904", "York",
813             "441428", "Haslemere",
814             "441620", "North\ Berwick",
815             "441972", "Glenborrodale",
816             "4416863", "Llanidloes",
817             "441329", "Fareham",
818             "441577", "Kinross",
819             "441346", "Fraserburgh",
820             "441949", "Whatton",
821             "442866", "Enniskillen",
822             "441873", "Abergavenny",
823             "4414301", "North\ Cave\/Market\ Weighton",
824             "441756", "Skipton",
825             "441661", "Prudhoe",
826             "4412298", "Barrow\-in\-Furness",
827             "441848", "Thornhill",
828             "441638", "Newmarket",
829             "441911", "Tyneside\/Durham\/Sunderland",
830             "441556", "Castle\ Douglas",
831             "4418902", "Coldstream",
832             "4419755", "Alford\ \(Aberdeen\)",
833             "441246", "Chesterfield",
834             "441290", "Cumnock",
835             "441530", "Coalville",
836             "441821", "Kinrossie",
837             "442898", "Belfast",
838             "441456", "Glenurquhart",
839             "441984", "Watchet\ \(Williton\)",
840             "4414379", "Haverfordwest",
841             "4414308", "Market\ Weighton",
842             "441730", "Petersfield",
843             "4419640", "Hornsea\/Patrington",
844             "441275", "Clevedon",
845             "441472", "Grimsby",
846             "441928", "Runcorn",
847             "441404", "Honiton",
848             "44287", "Northern\ Ireland",
849             "441348", "Fishguard",
850             "441259", "Alloa",
851             "4415394", "Hawkshead",
852             "441449", "Stowmarket",
853             "441260", "Congleton",
854             "4418901", "Coldstream\/Ayton",
855             "442868", "Kesh",
856             "442885", "Ballygawley",
857             "441549", "Lairg",
858             "441772", "Preston",
859             "441704", "Southport",
860             "441977", "Pontefract",
861             "441273", "Brighton",
862             "441726", "St\ Austell",
863             "442883", "Northern\ Ireland",
864             "441572", "Oakham",
865             "441749", "Shepton\ Mallet",
866             "4418518", "Stornoway",
867             "44117", "Bristol",
868             "441526", "Martin",
869             "441691", "Oswestry",
870             "441226", "Barnsley",
871             "441918", "Tyneside",
872             "441631", "Oban",
873             "441773", "Ripley",
874             "441841", "Newquay\ \(Padstow\)",
875             "441204", "Bolton",
876             "441475", "Greenock",
877             "4414377", "Haverfordwest",
878             "4419752", "Alford\ \(Aberdeen\)",
879             "441573", "Kelso",
880             "442882", "Omagh",
881             "441685", "Merthyr\ Tydfil",
882             "441460", "Chard",
883             "441668", "Bamburgh",
884             "4413396", "Ballater",
885             "441249", "Chippenham",
886             "441358", "Ellon",
887             "441877", "Callander",
888             "441384", "Dudley",
889             "441473", "Ipswich",
890             "441560", "Moscow",
891             "441775", "Spalding",
892             "4415076", "Louth",
893             "441559", "Llandysul",
894             "441828", "Coupar\ Angus",
895             "4418905", "Ayton",
896             "441760", "Swaffham",
897             "442891", "Bangor\ \(Co\.\ Down\)",
898             "441683", "Moffat",
899             "441759", "Pocklington",
900             "441951", "Colonsay",
901             "441575", "Kirriemuir",
902             "441341", "Barmouth",
903             "441529", "Sleaford",
904             "4419751", "Alford\ \(Aberdeen\)\/Strathdon",
905             "441746", "Bridgnorth",
906             "441790", "Spilsby",
907             "441729", "Settle",
908             "442838", "Portadown",
909             "441858", "Market\ Harborough",
910             "441546", "Lochgilphead",
911             "441590", "Lymington",
912             "441377", "Driffield",
913             "441884", "Tiverton",
914             "441948", "Whitchurch",
915             "441256", "Basingstoke",
916             "441490", "Corwen",
917             "441446", "Barry",
918             "441698", "Motherwell",
919             "441328", "Fakenham",
920             "4419643", "Patrington",
921             "441429", "Hartlepool",
922             "4414306", "Market\ Weighton",
923             "441282", "Burnley",
924             "441369", "Dunoon",
925             "441485", "Hunstanton",
926             "441350", "Dunkeld",
927             "442849", "Northern\ Ireland",
928             "441659", "Sanquhar",
929             "441910", "Tyneside\/Durham\/Sunderland",
930             "441431", "Helmsdale",
931             "442826", "Northern\ Ireland",
932             "441887", "Aberfeldy",
933             "441302", "Doncaster",
934             "441583", "Carradale",
935             "441675", "Coleshill",
936             "4418477", "Tongue",
937             "441531", "Ledbury",
938             "441291", "Chepstow",
939             "4414239", "Boroughbridge",
940             "441768", "Penrith",
941             "441785", "Stafford",
942             "4412296", "Barrow\-in\-Furness",
943             "441483", "Guildford",
944             "441939", "Wem",
945             "441673", "Market\ Rasen",
946             "441568", "Leominster",
947             "441899", "Biggar",
948             "441869", "Bicester",
949             "441207", "Consett",
950             "441903", "Worthing",
951             "4414347", "Hexham",
952             "4418904", "Coldstream",
953             "442830", "Newry",
954             "441598", "Lynton",
955             "441874", "Brecon",
956             "441387", "Dumfries",
957             "4418516", "Great\ Bernera",
958             "441261", "Banff",
959             "441798", "Pulborough",
960             "441320", "Fort\ Augustus",
961             "441629", "Matlock",
962             "441905", "Worcester",
963             "4416867", "Llanidloes",
964             "441646", "Milford\ Haven",
965             "441690", "Betws\-y\-Coed",
966             "441438", "Stevenage",
967             "4415078", "Alford\ \(Lincs\)",
968             "44238", "Southampton",
969             "441896", "Galashiels",
970             "441630", "Market\ Drayton",
971             "4414237", "Harrogate",
972             "441840", "Camelford",
973             "441407", "Holyhead",
974             "441461", "Gretna",
975             "441805", "Torrington",
976             "441738", "Perth",
977             "441902", "Wolverhampton",
978             "441974", "Llanon",
979             "441561", "Laurencekirk",
980             "441707", "Welwyn\ Garden\ City",
981             "442829", "Kilrea",
982             "4415395", "Grange\-over\-Sands",
983             "441298", "Buxton",
984             "441803", "Torquay",
985             "441538", "Ipstones",
986             "442846", "Northern\ Ireland",
987             "442890", "Belfast",
988             "441656", "Bridgend",
989             "441761", "Temple\ Cloud",
990             "441969", "Leyburn",
991             "4413398", "Aboyne",
992             "441366", "Downham\ Market",
993             "4418479", "Tongue",
994             "441950", "Sandwick",
995             "441340", "Craigellachie\ \(Aberlour\)",
996             "441268", "Basildon",
997             "441285", "Cirencester",
998             "441482", "Kingston\-upon\-Hull",
999             "4416869", "Newtown",
1000             "441672", "Marlborough",
1001             "441920", "Ware",
1002             "441604", "Northampton",
1003             "4419754", "Alford\ \(Aberdeen\)",
1004             "441626", "Newton\ Abbot",
1005             "441305", "Dorchester",
1006             "441591", "Llanwrtyd\ Wells",
1007             "441987", "Ebbsfleet",
1008             "4414349", "Bellingham",
1009             "441283", "Burton\-on\-Trent",
1010             "441491", "Henley\-on\-Thames",
1011             "441782", "Stoke\-on\-Trent",
1012             "44118", "Reading",
1013             "441303", "Folkestone",
1014             "441866", "Kilchrenan",
1015             "441582", "Luton",};
1016              
1017             sub new {
1018 92     92 1 262 my $class = shift;
1019 92         199 my $number = shift;
1020 92         630 $number =~ s/(^\+44|\D)//g;
1021 92         594 my $self = bless({ country_code => '44', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
1022 92 100       479 return $self if ($self->is_valid());
1023 78         474 $number =~ s/^(?:([0-24-8]\d{5})$|0)//;
1024 78         852 $self = bless({ country_code => '44', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
1025 78 100       298 return $self->is_valid() ? $self : undef;
1026             }
1027             1;