Parse::PhoneNumber::ID is a Perl module that can extract/parse Indonesian phone numbers. See extract_id_phones() for more details.
This module uses Log::Any logging framework, so you can use something like Log::Any::App to easily show more logging output during debugging.
This module uses Sub::Spec framework, so you can switch between named arguments and positional, run the subroutine from the command line, etc. Refer to Sub::Spec documentation for more details.
SYNOPSIS
use Parse::PhoneNumber::ID qw(parse_id_phone extract_id_phones);
use Data::Dump;
dd parse_id_phone(text => 'Jual dalmatian 2bl lucu2x. Hub: 7123 4567',
default_area_code=>'022');
Will print something like:
{ raw => 'Hub: 7123 4567',
pretty => '022-7123-4567',
standard => '+62.22.71234567',
is_cell => 1,
is_gsm => 0,
is_cdma => 1,
operator => 'telkom',
product => 'flexi',
area_code => '022',
province => 'jabar',
cities => 'Bandung, Cimahi, ...',
local_number => '71234567',
country => 'Indonesia',
country_code => '62',
ext => undef, }
To extract more than one numbers in a text:
my $phones = extract_id_phones(text => 'some text containing phone number(s):'.
'0812 2345 6789, +62-22-91234567');
say "There are ", scalar(@$phones), "phone number(s) found in text";
for (@$phones) { say $_->{pretty} }
Product's homepage
Requirements:
· Perl