http://www.perlmonks.org?node_id=929431


in reply to ${^MATCH} regex special variable(s) and /p regex modifier

Here is a quote from perlvar:
This is similar to $& ($MATCH ) except that it does not incur the performance penalty associated with that variable, and is only guaranteed to return a defined value when the pattern was compiled or executed with the /p modifier.
I think the key word there is "guaranteed". It seems like the variable gets defined even if /p is not used, although it is not explicitly mentioned. To be safe, I would always use /p when you want those variables.

If you feel the docs should be modified, submit a patch via perlbug.

  • Comment on Re: ${^MATCH} regex special variable(s) and /p regex modifier