in reply to Help Needed to parse phone numbers
#!/usr/bin/perl my @office_patterns = ('^\d{3}-\d{4}$'); my @international_patterns = ('^[+]\d \d{3} \d{3}-\d{4}$'); my $record = "OfficePhoneNumber: 662-5555,+1 102 892-1314"; my ($field, $data) = split(/:\s*/, $record); my @office_phones; my @international_phones; NUMBER: foreach $number (split(/,\s*/, $data)) { # Trim spaces. $number =~ s/^\s+//; $number =~ s/\s+$//; foreach $office_pattern (@office_patterns) { if ($number =~ /$office_pattern/) { push @office_phones, $number; next NUMBER; } } foreach $international_pattern (@international_patterns) { if ($number =~ /$international_pattern/) { push @international_phones, $number; next NUMBER; } } } print "Office #: ", join(", ", @office_phones), "\n"; print "International #: ", join(", ", @international_phones), "\n";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Help Needed to parse phone numbers
by Anonymous Monk on May 18, 2009 at 18:10 UTC |