Just another Perl shrine | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
I just ran into the same problem and it took me a while to debug it.
Wanted write a warning thread ... but of course PM had it already, so I just need pushing it up again. =) Shortly stated: When composing regexes from smaller parts be aware that " " and "#" are real new metacharacters under /x and not only syntactic sugar on the top level.
"$a$a" becomes "#x#x" which is an empty regex under /x since it starts with a comment. One solution¹ is to pre-compile the smaller parts w/o x-flag
another one escaping or using a character class
simply using quotemeta might bite you again when you wanted to use other metacharacters. NB: same problem with whitespace.
¹) IMHO the cleanest and still unmentioned in this thread :) In reply to Re: A refactoring trap ( regex /x modifier activates new metacharacters)
by LanX
|
|