find({wanted => \&wanted, untaint => 1}, @twikipaths); sub wanted{ if(/.+\.doc$/i){ if($cs && /($searchterm)/){ push @files, $File::Find::name; } elsif(!$cs && /($searchterm)/i){ push @files, $File::Find::name; } elsif(!$tonly){ open(DOC, $File::Find::name)|| die "Couldn't open $File::Find::name:$!\n"; THISFILE: while(my $line = ){ $line =~ s/([^\011\012\015\040-\176])//g; if($cs && $line =~ /($searchterm)/){ close DOC; push @files, $File::Find::name; last THISFILE; } elsif(!$cs && $line =~ /($searchterm)/i){ close DOC; push @files, $File::Find::name; last THISFILE; } } } } }