http://www.perlmonks.org?node_id=655104


in reply to How can I use a text file as a search string?

If you are searching for literal strings, and don't *really* need regexs, then you could create a hash, where each name in the .txt file is one you're expecting. To search, you'd just use exists($hash{$name_to_check}) to see it was in your text file.
my @names_to_check = qw/ bob sue joe /; my %validnames = (); # build lookup while(<>) { chomp; $validnames{$_}++; # also filters dups in *.txt } # check names for (@names_to_check) { print "$_ is okay\n" if (exists($validnames{$_})); }
The <> of course implies STDIN, so you'd have to redirect or pipe the contents of *.txt into the script at the commandline.

Replies are listed 'Best First'.
Re^2: How can I use a text file as a search string?
by btobin0 (Acolyte) on Dec 06, 2007 at 06:30 UTC
    This is what ihave so far. the part that is asking to look for perl. I want to change it to where it looks in a list like a txt or dat file.
    open FILE, "/home/btobin/data.txt" || die "Unable to Open: $!"; while (<FILE>) { if ($_ =~ "Perl") { $check = "$_"; } } close FILE; open FILE2, ">>/home/btobin/data2.txt" || die "Unable to Open: $!"; print FILE2 "$check\n"; close FILE2;