> Okay, now I have to admit I'm also new to Perl, but I can adapt to change:
> 
>       /^.*\.[tj][pi][gfe].{0,1}$/i
> 
> I threw in the quantifier to avoid what Felix exposed. Now, there's
> probably a hole in this somewhere, but it's got to be a small one...
> 
> -Paul
> 

Zeroth: It would better to say /^.*[tj][pi][gfe].?$/i, which would do
the same thing, but still be just as wrong.

First:  That is wrong because it matches too many OTHER types - .tpg, .tpf, 
.tpe, 
and so forth (ten, plus thousands four-character variants).

If you want to test for "this or that" you REALLY want to use /this|that/" not 
th[ia][st]

#!/usr/bin/perl

use strict;
use warnings; 

my @word = qw /this that thit thas/ ;

print "Wrong wronger, wrongest:\n"; 
for (@word) {
    print "$_\n" if /th[ia][st]/;
}

print "Better:\n"; 
for (@word) {
    print "$_\n" if /this|that/;
}


__END__

Produces the output:

lawrence  /tmp > ./test.pl
Wrong wronger, wrongest:
this
that
thit
thas
Better:
this
that


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to