SPUG: When is a caret just a caret? And what about dollar?
Michael R. Wolf
MichaelRWolf at att.net
Fri Aug 21 23:47:38 PDT 2009
I seem to remember that the meaning of caret in a regex is context-
sensitive, and it can be an anchor, a complement, or just (with
apologies to Sigmond) a caret.
My memory is that caret is an anchor iff it's the first character in a
regex and a complement iff it's the first character in a character
class, else it's a self-match. Ergo, /^^[^^]^/ would match "beginning
of line then caret then anything-but-a-caret then caret". I can't
seem to find support for this (long-held) belief. Have I been wrong
for this long?
And while I'm at it, how 'bout dollar? I thought it was an anchor iff
it was the last character in the regex, else it introduced a scalar
variable for interpolation.
It seems that the documentation says that caret and dollar are
*always* metacharacters. Any ideas how I could have been mislead by a
(seemingly) similar set of rules that I may have misinterpreted? Has
their meaning changed in previous versions of Perl (or the Perl regex
engine)?
--
Michael R. Wolf
All mammals learn by playing!
MichaelRWolf at att.net
More information about the spug-list
mailing list