[snip]
> my $acceptable = qr/^(?:sp|lp|ep12|ffp|vid|dvd|bx|bkk|cd|csd)$/;
>
> and then using $acceptable to do the matchings, such as
>
> grep /$acceptable/, @array
>
>
> it would be faster and more readable :-)
If the acceptable list is that large, using a hash would be TMTOWTDI :-)
#!/usr/bin/perl
use strict;
use warnings;
my %acceptable = map {$_ => 1} qw/ sp lp ep12 ffp vid dvd bx bkk cd csd /;
my @a = ([qw/ cd csd cd /], [qw/ abc ed csd cd /]);
for (@a) {
if (grep {not $acceptable{$_}} @$_) {
print "Not acceptable\n";
}
else {
print "OK\n";
}
}
Chris
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>