our
$VERSION
= 1.20250323211824;
my
$formatters
= [
{
'format'
=>
'$1 $2 $3'
,
'leading_digits'
=>
'[2-589]'
,
'pattern'
=>
'(\\d{3})(\\d{2})(\\d{2})'
}
];
my
$validators
= {
'fixed_line'
=> '
2(?:
2[1-7]|
3[0-8]|
4[12]|
5[1256]|
6\\d|
7[1-3]|
8[1-5]
)\\d{4}
',
'geographic'
=> '
2(?:
2[1-7]|
3[0-8]|
4[12]|
5[1256]|
6\\d|
7[1-3]|
8[1-5]
)\\d{4}
',
'mobile'
=> '
(?:
36|
5[1-389]|
9\\d
)\\d{5}
',
'pager'
=>
''
,
'personal_number'
=>
''
,
'specialrate'
=>
''
,
'toll_free'
=>
'800\\d{4}'
,
'voip'
=> '
(?:
3[3-5]|
4[356]
)\\d{5}
'
};
my
%areanames
= ();
$areanames
{en} = {
"238224"
,
"Cocoli\,\ Santo\ Antão"
,
"238236"
,
"Tarrafal\ de\ São\ Nicolau\,\ São\ Nicolau"
,
"238267"
,
"Cidade\ Velha\,\ Santiago"
,
"238230"
,
"Mindelo\,\ São\ Vicente"
,
"238256"
,
"Calheta\,\ Maio"
,
"238231"
,
"Mindelo\,\ São\ Vicente"
,
"238241"
,
"Espargos\,\ Sal"
,
"238262"
,
"Praia\,\ Santiago"
,
"238251"
,
"Sal\ Rei\,\ Boa\ Vista"
,
"238272"
,
"Picos\,\ Santiago"
,
"238282"
,
"Cova\ Figueira\,\ Fogo"
,
"238221"
,
"Ribeira\ Grande\,\ Santo\ Antão"
,
"238285"
,
"Nova\ Sintra\,\ Brava"
,
"238265"
,
"Santa\ Catarina\,\ Santiago"
,
"238226"
,
"Manta\ Velha\/Chã\ de\ Igreja\ \ \(Santo\ Antão\ Island\)"
,
"238223"
,
"Paúl\,\ Santo\ Antão"
,
"238238"
,
"Praia\ Branca\,\ São\ Nicolau"
,
"238260"
,
"Praia\,\ Santiago"
,
"238263"
,
"Praia\,\ Santiago"
,
"238237"
,
"Fajã\,\ São\ Nicolau"
,
"238269"
,
"Pedra\ Badejo\,\ Santiago"
,
"238266"
,
"Tarrafal\,\ Santiago"
,
"238283"
,
"Mosteiros\,\ Fogo"
,
"238273"
,
"Calheta\ de\ São\ Miguel\,\ Santiago"
,
"238281"
,
"São\ Filipe\,\ Fogo"
,
"238252"
,
"Funda\ das\ Figueiras\,\ Boa\ Vista"
,
"238271"
,
"Orgão\/São\ Jorge\ \(Santiago\ Island\)"
,
"238225"
,
"Ponta\ do\ Sol\,\ Santo\ Antão"
,
"238261"
,
"Praia\,\ Santiago"
,
"238242"
,
"Santa\ Maria\,\ Sal"
,
"238232"
,
"Mindelo\,\ São\ Vicente"
,
"238235"
,
"Ribeira\ Brava\,\ São\ Nicolau"
,
"238255"
,
"Vila\ do\ Maio\,\ Maio"
,
"238222"
,
"Porto\ Novo\,\ Santo\ Antão"
,
"238268"
,
"São\ Domingos\,\ Santiago"
,
"238284"
,
"São\ Jorge\,\ Fogo"
,
"238227"
,
"Lajedos\/Alto\ Mira\ \(Santo\ Antão\ Island\)"
,
"238264"
,
"Praia\,\ Santiago"
,};
$areanames
{pt} = {};
my
$timezones
= {
''
=> [
'Atlantic/Cape_Verde'
]
};
sub
new {
my
$class
=
shift
;
my
$number
=
shift
;
$number
=~ s/(^\+238|\D)//g;
my
$self
=
bless
({
country_code
=>
'238'
,
number
=>
$number
,
formatters
=>
$formatters
,
validators
=>
$validators
,
timezones
=>
$timezones
,
areanames
=> \
%areanames
},
$class
);
return
$self
->is_valid() ?
$self
:
undef
;
}
1;