|
our $VERSION = 1.20250323211835;
my $formatters = [
{
'format' => '$1 $2' ,
'leading_digits' => '
6[89]|
7|
8[4-9]|
9(?:
[1-8]|
9[0-8]
)
',
'pattern' => '(\\d{2})(\\d{5})'
}
];
my $validators = {
'fixed_line' => '
(?:
1[4-79]|
[23]\\d|
4[0-2]|
5[03]|
6[0-37]
)\\d{3}
',
'geographic' => '
(?:
1[4-79]|
[23]\\d|
4[0-2]|
5[03]|
6[0-37]
)\\d{3}
',
'mobile' => '
48\\d{3}|
(?:
(?:
6[89]|
7[1-9]|
8[4-9]
)\\d|
9(?:
1[2-9]|
2[013-9]|
3[0-2]|
[46]\\d|
5[0-46-9]|
7[0-689]|
8[0-79]|
9[0-8]
)
)\\d{4}
',
'pager' => '' ,
'personal_number' => '' ,
'specialrate' => '' ,
'toll_free' => '1[38]\\d{3}' ,
'voip' => '5[12]\\d{3}'
};
my $timezones = {
'' => [
'Pacific/Guadalcanal'
]
};
sub new {
my $class = shift ;
my $number = shift ;
$number =~ s/(^\+677|\D)//g;
my $self = bless ({ country_code => '677' , number => $number , formatters => $formatters , validators => $validators , timezones => $timezones , }, $class );
return $self ->is_valid() ? $self : undef ;
}
1;
|