Nicolai Rosen on Tue, 22 Feb 2000 17:05:38 -0500 (EST) |
That's because it's trying to match the last character of $searcher 1 or more times. Then it's trying to repeat this procedure twice, but w/ 1 or more nothings. You want the escape character \+. Of course since you're doing this for 3 of them & it is w/ a variable, the easiest way to do this would be to use the \Q escape sequence. It disables all metacharacters. You end it w/ \E. So here's the regexp test all fixed up: $teststring =~ /\Q$alteredsearcher\E/ On Tue, 22 Feb 2000, Chris Spurgeon wrote: > OK, I have this code..... > > #!/usr/bin/perl > > @group1 = qw(foo foofoo foo+++ bar bar+++ foobar); > @group2 = qw(foo bar); > > foreach $teststring (@group1) { > foreach $searcher (@group2) { > $alteredsearcher = $searcher . "+++"; > if ($teststring =~ /$alteredsearcher/) { > print "Got a match with $teststring and $searcher\n"; > } > } > } > > > ... what I'm trying to do here is search for a series of strings, where > the strings happen to end with the characters "+++". But perl is picking > up those final characters in $alteredsearcher and it's seeing them as a > syntax error instead of just three characters. What am I missing here? > TIA. > > > _____________________________________________________________ > Chris Spurgeon | "So much time,...so little to do." > WHYY webmaster | -- Stan Laurel > ces@www.whyy.org | > http://whyy.org | > > **Majordomo list services provided by PANIX <URL:http://www.panix.com>** > **To Unsubscribe, send "unsubscribe phl" to majordomo@lists.pm.org** > Nicolai Rosen nick@netaxs.com Earthstation/Netaxs **Majordomo list services provided by PANIX <URL:http://www.panix.com>** **To Unsubscribe, send "unsubscribe phl" to majordomo@lists.pm.org**
|
|