|
our $VERSION = 1.20250323211837;
my $formatters = [
{
'format' => '$1 $2' ,
'leading_digits' => '
[2-489]|
70
',
'pattern' => '(\\d{3})(\\d{4})'
},
{
'format' => '$1 $2' ,
'leading_digits' => '7' ,
'pattern' => '(\\d{4})(\\d{4})'
}
];
my $validators = {
'fixed_line' => '
(?:
2[1-5]|
3[1-9]|
4[1-4]
)\\d{5}
',
'geographic' => '
(?:
2[1-5]|
3[1-9]|
4[1-4]
)\\d{5}
',
'mobile' => '7[2-8]\\d{6}' ,
'pager' => '' ,
'personal_number' => '70\\d{5}' ,
'specialrate' => '(90\\d{5})' ,
'toll_free' => '80\\d{5}' ,
'voip' => ''
};
my %areanames = ();
$areanames {en} = { "67042" , "Manatuto" ,
"67021" , "Manufahi" ,
"67031" , "Dili" ,
"67032" , "Dili" ,
"67022" , "Cova\ Lima" ,
"67041" , "Baucau" ,
"67037" , "Aileu" ,
"67025" , "Dekuse" ,
"67033" , "Dili" ,
"67038" , "Ermera" ,
"67023" , "Bobonaro" ,
"67036" , "Liquica" ,
"67024" , "Ainaro" ,
"67043" , "Viqueque" ,
"67039" , "Oekusi" ,
"67044" , "Lautem" ,};
my $timezones = {
'' => [
'Asia/Dili'
]
};
sub new {
my $class = shift ;
my $number = shift ;
$number =~ s/(^\+670|\D)//g;
my $self = bless ({ country_code => '670' , number => $number , formatters => $formatters , validators => $validators , timezones => $timezones , areanames => \ %areanames }, $class );
return $self ->is_valid() ? $self : undef ;
}
1;
|