in reply to Text files

This little snippet will do what you want

You may want to look at File::Find (see Beginners guide to File::Find) for a more elegant way to do this. And there is probably a better way to search for things in the file, such as slurping the whole thing into a single variable.

use File::DosGlob; my $root = '/some/where/interesting/*'; # don't forget the *! my $name = 'Smith'; # what you are searhcing for my @m = File::DosGlob::doglob(1,$root); for $fn (@m) { if -d($fn) { push @m, File::DosGlob::doglob(1,$fn.'/*'); next; } # uncomment to only search .txt files # next unless ($fn=~/\.txt$/); open (FILE,$fn) or warn "unable to search file $fn because $!\n"; while (<FILE>) { next unless (index($_,$name) >=0); # you could use a regex here print "$fn: $_"; last; # unless you want all occurences } close(FILE); }

Dingus


Enter any 47-digit prime number to continue.