|
our $VERSION = 1.20250323211831;
my $formatters = [];
my $validators = {
'fixed_line' => '
590(?:
0[079]|
[14]3|
[27][79]|
3[03-7]|
5[0-268]|
87
)\\d{4}
',
'geographic' => '
590(?:
0[079]|
[14]3|
[27][79]|
3[03-7]|
5[0-268]|
87
)\\d{4}
',
'mobile' => '
(?:
69(?:
0\\d\\d|
1(?:
2[2-9]|
3[0-5]
)|
4(?:
0[89]|
1[2-6]|
9\\d
)|
6(?:
1[016-9]|
5[0-4]|
[67]\\d
)
)|
7090[0-4]
)\\d{4}
',
'pager' => '' ,
'personal_number' => '' ,
'specialrate' => '' ,
'toll_free' => '80[0-5]\\d{6}' ,
'voip' => '
9(?:
(?:
39[5-7]|
76[018]
)\\d|
475[0-6]
)\\d{4}
'
};
my $timezones = {
'' => [
'America/Guadeloupe'
]
};
sub new {
my $class = shift ;
my $number = shift ;
$number =~ s/(^\+590|\D)//g;
my $self = bless ({ country_code => '590' , number => $number , formatters => $formatters , validators => $validators , timezones => $timezones , }, $class );
return $self if ( $self ->is_valid());
$number =~ s/^(?:0)//;
$self = bless ({ country_code => '590' , number => $number , formatters => $formatters , validators => $validators , }, $class );
return $self ->is_valid() ? $self : undef ;
}
1;
|