-<% objToJson(\@phonenums) %>
+<% encode_json({ error => $error, phonenums => \@phonenums}) %>\
<%init>
my( $exchangestring, $svcpart ) = $cgi->param('arg');
die "unknown svcpart $svcpart" unless $part_svc;
my @phonenums = ();
+my $error;
if ( $exchangestring ) {
my %opts = ();
if ( $exchangestring eq 'tollfree' ) {
$opts{'tollfree'} = 1;
- }
- elsif ( $exchangestring =~ /^([\w\s]+), ([A-Z][A-Z])$/ ) {
+ } elsif ( $exchangestring =~ /^_REGION (.*)$/ ) {
+ $opts{'region'} = $1;
+ #} elsif ( $exchangestring =~ /^([\w\s\:\,\(\)\-]+), ([A-Z][A-Z])$/ ) {
+ } elsif ( $exchangestring =~ /^(.+), ([A-Z][A-Z])$/ ) {
$opts{'ratecenter'} = $1;
$opts{'state'} = $2;
- }
- else {
+ } else {
$exchangestring =~ /\((\d{3})-(\d{3})-XXXX\)\s*$/i
- or die "unparsable exchange: $exchangestring";
+ or die "unparseable exchange: $exchangestring";
my( $areacode, $exchange ) = ( $1, $2 );
$opts{'areacode'} = $areacode;
$opts{'exchange'} = $exchange;
}
- my $something = $export->get_dids(%opts);
- @phonenums = @{ $something };
+ local $@;
+ local $SIG{__DIE__};
+ my $something = eval { $export->get_dids(%opts) };
+ $error = $@;
+
+ @phonenums = @{ $something } if $something;
}