This file is indexed.

/usr/share/perl5/Number/Phone/StubCountry/AL.pm is in libnumber-phone-perl 3.0003-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# automatically generated file, don't edit



# Copyright 2011 David Cantrell, derived from data from libphonenumber
# http://code.google.com/p/libphonenumber/
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#     http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
package Number::Phone::StubCountry::AL;
use base qw(Number::Phone::StubCountry);
  
use strict;
use warnings;
our $VERSION = 1.20140904220736;

my $formatters = [{'pattern' => '(4)(\\d{3})(\\d{4})','leading_digits' => '4[0-6]'},{'pattern' => '(6[6-9])(\\d{3})(\\d{4})','leading_digits' => '6'},{'leading_digits' => '[2358][2-5]|4[7-9]','pattern' => '(\\d{2})(\\d{3})(\\d{3})'},{'leading_digits' => '[235][16-9]|8[016-9]|[79]','pattern' => '(\\d{3})(\\d{3,5})'}];
my $validators = {'special_rate' => '(808\\d{3})|(900\\d{3})|()','toll_free' => '800\\d{4}','personal_number' => '700\\d{5}','geographic' => '(?:2(?:[168][1-9]|[247]\\d|9[1-7])|3(?:1[1-3]|[2-6]\\d|[79][1-8]|8[1-9])|4\\d{2}|5(?:1[1-4]|[2-578]\\d|6[1-5]|9[1-7])|8(?:[19][1-5]|[2-6]\\d|[78][1-7]))\\d{5}','fixed_line' => '(?:2(?:[168][1-9]|[247]\\d|9[1-7])|3(?:1[1-3]|[2-6]\\d|[79][1-8]|8[1-9])|4\\d{2}|5(?:1[1-4]|[2-578]\\d|6[1-5]|9[1-7])|8(?:[19][1-5]|[2-6]\\d|[78][1-7]))\\d{5}','voip' => '','pager' => '','mobile' => '6[6-9]\\d{7}'};sub areaname { my $self = shift; my $number = $self->{number}; my %map = (355211 => "Koplik",355212 => "Puk\�\�",355213 => "Bajram\ Curri",355214 => "Krum\�\�",355215 => "Lezh\�\�",355216 => "Rr\�\�shen",355217 => "Burrel",355218 => "Peshkopi",355219 => "Bulqiz\�\�",35522 => "Shkod\�\�r",35524 => "Kuk\�\�s",355261 => "Vau\-Dej\�\�s",355262 => "Rrethinat\/Ana\-Malit\,\ Shkod\�\�r",355263 => "Pult\/Shal\�\�\/Shosh\/Temal\/Shllak\,\ Shkod\�\�r",355264 => "Postrib\�\�\/Gur\ i\ Zi",355265 => "Vig\-Mnel\�\�\/Hajmel\,\ Shkod\�\�r",355266 => "Bushat\/B\�\�rdic\�\�\,\ Shkod\�\�r",355267 => "Daj\�\�\/Velipoj\�\�\,\ Shkod\�\�r",355268 => "Qend\�\�r\/Gruemir\�\�\,\ Mal\�\�si\ e\ Madhe",355269 => "Kastrat\/Shkrel\/Kelmend\,\ Mal\�\�si\ e\ Madhe",355270 => "Kolsh\/Surroj\/Arren\/Malzi\,\ Kuk\�\�s",355271 => "Fush\�\�\-Arr\�\�z\/Rrap\�\�\,\ Puk\�\�",355272 => "Qerret\/Qel\�\�z\/Gjegjan\,\ Puk\�\�",355273 => "Iball\�\�\/Fierz\�\�\/Blerim\/Qaf\�\�\-Mali\,\ Puk\�\�",355274 => "Tropoj\�\�\/Llugaj\/Margegaj\,\ Tropoj\�\�",355275 => "Bujan\/Fierz\�\�\/Bytyc\/Lekbiba\,\ Tropoj\�\�",355276 => "Fajza\/Golaj\/Gjinaj\,\ Has",355277 => "Shtiqen\/T\�\�rthore\/Zapod\,\ Kuk\�\�s",355278 => "Bicaj\/Topojan\/Shishtavec\,\ Kuk\�\�s",355279 => "Gryk\-\�\�aj\�\�\/Ujmisht\/Bushtrice\/Kalis\,\ Kuk\�\�s",355281 => "Sh\�\�ngjin\/Balldre\,\ Lezh\�\�",355282 => "Kallmet\/Blinisht\/Daj\�\�\/Ungrej\,\ Lezh\�\�",355283 => "Kolsh\/Zejmen\/Sh\�\�nkoll\,\ Lezh\�\�",355284 => "Rubik\,\ Mirdit\�\�",355285 => "Kthjell\�\�\/Selit\�\�\,\ Mirdit\�\�",355286 => "Ka\�\�inar\/Orosh\/Fan\,\ Mirdit\�\�",355287 => "Klos\/Su\�\�\/Lis\,\ Mat",355288 => "Baz\/Komsi\/Gurr\�\�\/Xib\�\�r\,\ Mat",355289 => "Ul\�\�z\/Rukaj\/Derjan\/Macukull\,\ Mat",355291 => "Tomin\/Luzni\,\ Dib\�\�r",355292 => "Maqellar\�\�\/Melan\,\ Dib\�\�r",355293 => "Kastriot\/Muhur\/Selisht\�\�\,\ Dib\�\�r",355294 => "Arras\/Fush\�\�\-\�\�idh\�\�n\/Lur\�\�\,\ Dib\�\�r",355295 => "Sllov\�\�\/Zall\-Dardh\�\�\/Zall\-Re\�\�\/Kala\ e\ Dodes\,\ Dib\�\�r",355296 => "Fush\�\�\-Bulqiz\�\�\/Shupenz\�\�\/Zerqan\,\ Bulqiz\�\�",355297 => "Gjorice\/Ostren\/Trebisht\/Martanesh\,\ Bulqiz\�\�",355311 => "Ku\�\�ov\�\�",355312 => "\�\�orovod\�\�\,\ Skrapar",355313 => "Ballsh\,\ Mallakast\�\�r",35532 => "Berat",35533 => "Vlor\�\�",35534 => "Fier",35535 => "Lushnje",355360 => "Leshnje\/Potom\/\�\�epan\/Gjerb\�\�s\/Zhep\�\�\,\ Skrapar",355361 => "Ura\ Vajgurore\,\ Berat",355362 => "Velabisht\/Roshnik\,\ Berat",355363 => "Otllak\/Lumas\,\ Berat",355364 => "V\�\�rtop\/Terpan\,\ Berat",355365 => "Sinj\�\�\/Cukalat\,\ Berat",355366 => "Poshnj\�\�\/Kutalli\,\ Berat",355367 => "Perondi\/Kozar\�\�\,\ Ku\�\�ov\�\�",355368 => "Poli\�\�an\/Bogov\�\�\,\ Skrapar",355369 => "Qend\�\�r\/Vendresh\�\�\,\ Skrapar",355371 => "Divjak\�\�\,\ Lushnj\�\�",355372 => "Karbunar\�\�\/Fier\-Shegan\/Hysgjokaj\/Ballagat\,\ Lushnj\�\�",355373 => "Krutje\/Bubullim\�\�\/Allkaj\,\ Lushnj\�\�",355374 => "Gradisht\�\�\/Kolonj\�\�\,\ Lushnj\�\�",355375 => "Golem\/Grabian\/Remas\,\ Lushnj\�\�",355376 => "Dushk\/T\�\�rbuf\,\ Lushnj\�\�",355377 => "Qend\�\�r\/Greshic\�\�\/Hekal\,\ Mallakast\�\�r",355378 => "Aranitas\/Ngracan\/Selit\�\�\/Fratar\/Kut\�\�\,\ Mallakast\�\�r",355381 => "Patos\,\ Fier",355382 => "Roskovec\,\ Fier",355383 => "Qend\�\�r\,\ Fier",355384 => "Mbrostar\ Ura\/LIibofsh\�\�\,\ Fier",355385 => "Port\�\�z\/Zhar\�\�z\,\ Fier",355386 => "Kuman\/Kurjan\/Strum\/Ruzhdie\,\ Fier",355387 => "Cakran\/Frakull\,\ Fier",355388 => "Levan\,\ Fier",355389 => "Dermenas\/Topoj\�\�\,\ Fier",355391 => "Orikum\,\ Vlor\�\�",355392 => "Selenic\�\�\,\ Vlor\�\�",355393 => "Himar\�\�\,\ Vlor\�\�",355394 => "Qend\�\�r\,\ Vlor\�\�",355395 => "Novosel\�\�\,\ Vlor\�\�",355396 => "Shushic\�\�\/Armen\,\ Vlor\�\�",355397 => "Vllahin\�\�\/Kote\,\ Vlor\�\�",355398 => "Sevaster\/Brataj\/Hore\-Vranisht\,\ Vlor\�\�",3554 => "Tirana",35547 => "Kam\�\�z\/Vor\�\�\/Paskuqan\/Zall\-Herr\/Burxull\�\�\/Prez\�\�\,\ Tiran\�\�",35548 => "Kashar\/Vaqar\/Ndroq\/Pez\�\�\/Fark\�\�\/Dajt\,\ Tiran\�\�",35549 => "Petrel\�\�\/Baldushk\/B\�\�rzhit\�\�\/Krrab\�\�\/Shengjergj\/Zall\-Bastar\,\ Tiran\�\�",355511 => "Kruje",355512 => "Peqin",355513 => "Gramsh",355514 => "Librazhd",35552 => "Durr\�\�s",35553 => "La\�\�\,\ Kurbin",35554 => "Elbasan",35555 => "Kavaj\�\�",355561 => "Mamurras\,\ Kurbin",355562 => "Milot\/Fushe\-Kuqe\,\ Kurbin",355563 => "Fush\�\�\-Kruj\�\�",355564 => "Nik\�\�l\/Bubq\,\ Kruje",355565 => "Koder\-Thumane\/Cudhi\,\ Kruje",355570 => "Gos\�\�\/Lekaj\/Sinaballaj\,\ Kavaj\�\�",355571 => "Shijak\,\ Durr\�\�s",355572 => "Man\�\�z\,\ Durr\�\�s",355573 => "Sukth\,\ Durr\�\�s",355574 => "Rashbull\/Gjepalaj\,\ Durr\�\�s",355575 => "Xhafzotaj\/Maminas\,\ Durr\�\�s",355576 => "Katund\ i\ Ri\/Ishem\,\ Durr\�\�s",355577 => "Rrogozhin\�\�\,\ Kavaj\�\�",355578 => "Synej\/Golem\,\ Kavaj\�\�",355579 => "Luz\ i\ Vog\�\�l\/Kryevidh\/Helm\�\�s\,\ Kavaj\�\�",355580 => "P\�\�rparim\/Pajov\�\�\,\ Peqin",355581 => "C\�\�rrik\,\ Elbasan",355582 => "Belsh\,\ Elbasan",355583 => "Bradashesh\/Shirgjan\,\ Elbasan",355584 => "Labinot\-Fush\�\�\/Labinot\-Mal\/Funar\�\�\/Gracen\,\ Elbasan",355585 => "Shushic\�\�\/Tregan\/Gjinar\/Zavalin\�\�\,\ Elbasan",355586 => "Gjergjan\/Pap\�\�r\/Shal\�\�s\,\ Elbasan",355587 => "Gostime\/Klos\/Mollas\,\ Elbasan",355588 => "Rras\�\�\/Fierz\�\�\/Kajan\/Grekan\,\ Elbasan",355589 => "Karin\�\�\/Gjocaj\/Shez\�\�\,\ Peqin",355591 => "P\�\�rrenjas\,\ Librazhd",355592 => "Qend\�\�r\,\ Librazhd",355593 => "Lunik\/Orenj\�\�\/Stebleve\,\ Librazhd",355594 => "Hotolisht\/Polis\/Stravaj\,\ Librazhd",355595 => "Quk\�\�s\/Rajc\�\�\,\ Librazhd",355596 => "Pishaj\/Sult\/Tunj\�\�\/Kushov\�\�\/Sk\�\�nderbegas\,\ Gramsh",355597 => "Kodovjat\/Poro\�\�an\/Kukur\/Lenie\,\ Gramsh",355811 => "Bilisht\,\ Devoll",355812 => "Ersek\�\�\,\ Kolonj\�\�",355813 => "P\�\�rmet",355814 => "Tepelen\�\�",355815 => "Delvin\�\�",35582 => "Kor\�\�\�\�",35583 => "Pogradec",35584 => "Gjirokast\�\�r",35585 => "Sarand\�\�",355860 => "Trebinj\�\�\/Proptisht\/Vel\�\�an\,\ Pogradec",355861 => "Maliq\,\ Kor\�\�\�\�",355862 => "Qend\�\�r\,\ Kor\�\�\�\�",355863 => "Drenov\�\�\/Mollaj\,\ Kor\�\�\�\�",355864 => "Voskop\/Voskopoj\�\�\/Vithkuq\/Lekas\,\ Kor\�\�\�\�",355865 => "Gor\�\�\/Pirg\/Moglic\�\�\,\ Kor\�\�\�\�",355866 => "Libonik\/Vreshtaz\,\ Kor\�\�\�\�",355867 => "Pojan\/Liqenas\,\ Kor\�\�\�\�",355868 => "Bu\�\�imas\/Udenisht\,\ Pogradec",355869 => "\�\�\�\�rav\�\�\/Dardhas\,\ Pogradec",355871 => "Leskovik\/Barmash\/Novosel\�\�\,\ Kolonj\�\�",355872 => "Qend\�\�r\ Ersek\�\�\/Mollas\/\�\�lirim\,\ Kolonj\�\�",355873 => "Qend\�\�r\ Bilisht\/Prog\�\�r\,\ Devoll",355874 => "Ho\�\�isht\/Miras\,\ Devoll",355875 => "K\�\�lcyr\�\�\,\ P\�\�rmet",355876 => "Qend\�\�r\/Frash\�\�r\/Petran\/\�\�arshov\�\�\,\ P\�\�rmet",355877 => "Dishnic\�\�\/Suk\�\�\/Ballaban\,\ P\�\�rmet",355881 => "Libohov\�\�\/Qend\�\�r\,\ Gjirokast\�\�r",355882 => "Cepo\/Picar\/Lazarat\/Atigon\,\ Gjirokast\�\�r",355883 => "Lunxheri\/Odrie\/Zagorie\/Pogon\,\ Gjirokast\�\�r",355884 => "Dropull\ i\ Posht\�\�m\/Dropull\ i\ Sip\�\�rm\,\ Gjirokast\�\�r",355885 => "Memaliaj\,\ Tepelen\�\�",355886 => "Qend\�\�r\/Kurvelesh\/Lop\�\�z\,\ Tepelen\�\�",355887 => "Qesarat\/Krah\�\�s\/Luftinje\/Buz\,\ Tepelen\�\�",355891 => "Konispol\/Xare\/Markat\,\ Sarand\�\�",355892 => "Aliko\/Lukov\�\�\,\ Sarand\�\�",355893 => "Ksamil\,\ Sarand\�\�",355894 => "Livadhja\/Dhiv\�\�r\,\ Sarand\�\�",355895 => "Finiq\/Mesopotam\/Vergo\,\ Delvin\�\�",);
      foreach my $prefix (map { substr($number, 0, $_) } reverse(1..length($number))) {
        return $map{"355$prefix"} if exists($map{"355$prefix"});
      }
      return undef;
    }
sub new {
  my $class = shift;
  my $number = shift;
  $number =~ s/(^\+355|\D)//g;
  $number =~ s/(^0)//g;
  my $self = bless({ number => $number, formatters => $formatters, validators => $validators }, $class);
  return $self->is_valid() ? $self : undef;
}

1;