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.