in reply to how to state this by REL
The regexp is correct. The problem is your string. Use single quote instead of double quote, to avoid interpolation. Try this code:
{ my $name = "s@--__"; print $name, "\n"; if ($name =~ /\A[a-zA-Z][\w.-]*\z/) { print "match\n"; } else { print "not match\n"; } } { my $name = "s!!!@@@___"; print $name, "\n"; if ($name =~ /\A[a-zA-Z][\w.-]*\z/) { print "match\n"; } else { print "not match\n"; } } { my $name = 's@--__'; print $name, "\n"; if ($name =~ /\A[a-zA-Z][\w.-]*\z/) { print "match\n"; } else { print "not match\n"; } } { my $name = 's!!!@@@___'; print $name, "\n"; if ($name =~ /\A[a-zA-Z][\w.-]*\z/) { print "match\n"; } else { print "not match\n"; } }
Which prints:
Possible unintended interpolation of @___ in string at math1.pl line 1 +1. s-__ match s!!!@@ not match s@--__ not match s!!!@@@___ not match
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: how to state this by REL
by whatluo (Novice) on Nov 09, 2005 at 08:08 UTC | |
by Aragorn (Curate) on Nov 09, 2005 at 09:31 UTC |