<snipped some annoying code>
foreach my $result(@filelist) # a script snipped was given a file list
{ chomp ($result);
my $com_result = $result;
$com_result =~ s/^$root//;
# $root was a defined var, where using to target the below filter focus
# on the rest of parameter besides from the common root.
my $skip_this = 0; if (@FFW) # FFW stands for Filter File With
{ foreach my $filter_key (@FFW)
{
$skip_this = 1 if ($com_result =~ /$filter_key/i);
last if $skip_this;
} } next if $skip_this;
my $skip_this = 0; if (@FFO) # FFO stands for Filter files without
{ foreach my $filter_key (@FFO)
{ $skip_this = 1 if ($com_result !~ /$filter_key/i);
last if $skip_this;
} } next if $skip_this;
push @ret, $result if ($result);
}
<snipped rest of code>
The problem is if I give @FFW or @FFO a values like ('.txt', '.doc')
the regex won't take care of the '.', I have try to modify like :
$com_result =~ /$->{filter_key}/i
I then get my job done with a new script, but unable to done the job
when back to this script. So I wonder if there is something wrong
with the 'next' statement . Anyway, I just can't figure out what's going
wrong, any pointers ?
Thanks