in reply to Help with null string behavior in regex?
That isn't right. It isn't that $file =~ $string is always true, it is that in for ( ... ), you never get to the inner guts of the for() if there is nothing in @strings. It is also true that ... =~ // is also true. Maybe you had a blank line in your input.
I've included a slightly different and to my mind nicer version of your code. You may find it helpful.
my $pattern_file = <STDIN>; chomp $pattern_file; open my $patterns, "<", $pattern_file or die "Can't open '$pattern_fil +e' for reading: $!"; my @patterns = <$patterns>; chomp @patterns; @patterns = grep length(), @patterns; @patterns = map qr/$_/, @patterns; ... foreach my $file ( ... ) { # All patterns must match foreach my $pattern ( @patterns ) { next if $file =~ $pattern; print OUT "'$file' !~ /$pattern/\n"; last; } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Help with null string behavior in regex?
by McMahon (Chaplain) on May 03, 2004 at 21:51 UTC | |
by diotalevi (Canon) on May 03, 2004 at 22:58 UTC | |
by McMahon (Chaplain) on May 03, 2004 at 23:53 UTC | |
by diotalevi (Canon) on May 04, 2004 at 00:06 UTC |