I'm not sure what's going on. I tested it and it works for me. I suspect that something changed from when you ran it and when you posted it. Incidentally, here's something a bit closer to how I would write that:
use strict; my $matchtext = shift || die &usage; if ( ! is_valid_pattern( $matchtext ) ) { die "'$matchtext' is not a valid regular expression."; } my $page = "myfilename.html"; open PAGE, "< $page" or die "Cannot open $page for reading: $!"; while (<PAGE>) { print "There was an instance of $matchtext on line $.:\n\t$_\n" if + /$matchtext/; } close PAGE; sub usage { print "Usage: filematch.pl text_to_match"; } sub is_valid_pattern { my $pattern = shift; return eval { "" =~ /$pattern/; 1 } || 0; }
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.
In reply to (Ovid) Re: Simple REG/EX Question
by Ovid
in thread Simple REG/EX Question
by mr_dont
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |