in reply to reg ex matching 101

All I want to do is print 'yeppers' if the output from a text file has the word 'cat'.

Ignoring the whole CGI issue, one way to do what you are asking is:

open(READTHIS, "< $readthis") or die "I can't open $readthis: $!\n"; while(<READTHIS>) { if (/\bcat\b/i) { print "yeppers!"; last; } } close(READTHIS);

Note that your original code forgot to add a dollar sign to the 'readthis' variable in the die statement. The \b indicates a word boundary, so that we do not grab "catalog" as pointed out above. We don't need a =~ because we are matching the default $_ created by the while(<READTHIS>) expression. The last is there so that once we find the "cat", we stop looking, and just close the file right away.