libphonenumber for Perl
my $parser = PhoneNumbers->new(+{ data_dir => '/path/to/data_dir' });
my $is_valid = $parser->is_valid_number('+819012345678');
# 1
my $parsed = $parser->parse('+819012345678);
# {
# 'is_valid' => 1,
# 'region_code' => 'JP',
# 'national_number' => '09012345678',
# 'e164_number' => '+819012345678',
# 'number_type' => 'mobile',
# }