|
our $VERSION = 1.20250323211817;
my $formatters = [];
my $validators = {
'fixed_line' => '
(?:
318[023]|
41(?:
6[023]|
70
)|
7(?:
1[578]|
2[05]|
50
)\\d
)\\d{3}
',
'geographic' => '
(?:
318[023]|
41(?:
6[023]|
70
)|
7(?:
1[578]|
2[05]|
50
)\\d
)\\d{3}
',
'mobile' => '
(?:
31(?:
8[14-8]|
9[14578]
)|
416[14-9]|
7(?:
0[01]|
7[07]|
8\\d|
9[056]
)\\d
)\\d{3}
',
'pager' => '' ,
'personal_number' => '' ,
'specialrate' => '' ,
'toll_free' => '' ,
'voip' => ''
};
my %areanames = ();
$areanames {en} = { "5994160" , "Saba" ,
"5994162" , "Saba" ,
"59975" , "Bonaire" ,
"5993182" , "St\.\ Eustatius" ,
"59971" , "Bonaire" ,
"5993180" , "St\.\ Eustatius" ,
"599417" , "Saba" ,
"59972" , "Bonaire" ,
"5994163" , "Saba" ,
"5993183" , "St\.\ Eustatius" ,};
my $timezones = {
'' => [
'America/Curacao' ,
'America/Kralendijk'
],
'3' => [
'America/Kralendijk'
],
'4' => [
'America/Kralendijk'
],
'6' => [
'America/Curacao'
],
'7' => [
'America/Kralendijk'
],
'9' => [
'America/Curacao'
]
};
sub new {
my $class = shift ;
my $number = shift ;
$number =~ s/(^\+599|\D)//g;
my $self = bless ({ country_code => '599' , number => $number , formatters => $formatters , validators => $validators , timezones => $timezones , areanames => \ %areanames }, $class );
return $self ->is_valid() ? $self : undef ;
}
1;
|