syntax error at 806010.pl line 12, near "$record {"
syntax error at 806010.pl line 29, near "}"
Execution of 806010.pl aborted due to compilation errors.
####
#!/usr/bin/perl
use strict;
use warnings;
my @office_patterns = ( '^\d{3}-\d{4}$' );
my @international_patterns = ( '^[+]\d \d{3} \d{3}-\d{4}$' );
my @records = (
'662-5555',
'+1 102 892-1314',
);
my @office_phones;
my $office_phones;
my @international_phones;
NUMBER: foreach (@records) {
my $record = $_;
# Trim spaces.
$record =~ s/^\s+//;
$record =~ s/\s+$//;
foreach my $office_pattern (@office_patterns) {
if ($record =~ /$office_pattern/) {
push @office_phones, $record;
next NUMBER;
}
}
foreach my $international_pattern (@international_patterns) {
if ($record =~ /$international_pattern/) {
push @international_phones, $record;
next NUMBER;
}
}
}
print "$_ (o)\n" for @office_phones;
print "$_ (i)\n" for @international_phones;
####
662-5555 (o)
+1 102 892-1314 (i)
####
#!/usr/bin/perl
use strict;
use warnings;
my @office_pats = ( '\d{3}-\d{4}' );
my @iternat_pats = ( '[+]\d \d{3} \d{3}-\d{4}' );
my ($office_pat) = map qr/$_/, join '|', @office_pats;
my ($internat_pat) = map qr/$_/, join '|', @internat_pats;
my @office_phones;
my @internat_phones;
for (@recs) {
my $rec = $_;
$rec =~ s/^\s+//;
$rec =~ s/\s+$//;
push @office_phones, $rec if $rec =~ /^$office_pat\z/;
push @internat_phones, $rec if $rec =~ /^$internat_pat\z/;
}
print "$_ (o)\n" for @office_phones;
print "$_ (i)\n" for @internat_phones;