Dermot wrote:
Hi,
Hello,
I just hit something that I hadn't noticed before and I am not sure
it's it's a syntax issue or I have not been doing my reading.
I am trying to create a regex to match a directory name in path string
my $dir = dirname(shift);
(my $code) = ($dir =~ m|track.(\w{3}).|);
return $code;
I thought I'd use | as a delimiter rather than the more conventional /
. The regex without the 'm' gives an error:
syntax error at script/import.pl line ..., near "=~ |"
So this appears to be incorrect:
$dir =~ |track.(\w{3}).|
Is that right?
Yes. With the exception of // and ?? the match operator has to start
with an 'm'.
Also when you are using other delimiters, like |, do I no longer have
to stop escaping my slash charaters / but now need to escape my new
delimiting character EG |?
Yes, you should try to use a delimiter that is not a part of the
pattern, and especially not regular expression metacharacters like |.
John
--
Those people who think they know everything are a great
annoyance to those of us who do. -- Isaac Asimov
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/