expects to be passed information via C<$_>, it may or may not work,
depending on how the function is written, there not being any easy way to
solve this. Just avoid lexical C<$_>, unless you are feeling particularly
-masochistic. For this reason lexical C<$_> is deprecated and will produce
-a warning unless warnings have been disabled.
+masochistic. For this reason lexical C<$_> is still experimental and will
+produce a warning unless warnings have been disabled. As with other
+experimental features, the behavior of lexical C<$_> is subject to change
+without notice, including change into a fatal error.
Mnemonic: underline is understood in certain operations.
$1 is Mutt; $2 is Jeff
$1 is Wallace; $2 is Grommit
-If you are using Perl v5.16 or earlier, note that C<use
+If you are using Perl v5.18 or earlier, note that C<use
English> imposes a considerable performance penalty on all regular
expression matches in a program because it uses the C<$`>, C<$&>, and
C<$'>, regardless of whether they occur in the scope of C<use
C<${^PREMATCH}>, C<${^MATCH}>, and C<${^POSTMATCH}> variables instead
so you only suffer the performance penalties.
-If you are using Perl v5.18.0 or higher, you do not need to worry about
+If you are using Perl v5.20.0 or higher, you do not need to worry about
this, as the three naughty variables are no longer naughty.
=over 8
any matches hidden within a BLOCK or C<eval()> enclosed by the current
BLOCK).
-In Perl v5.16 and earlier, the use of this variable
+In Perl v5.18 and earlier, the use of this variable
anywhere in a program imposes a considerable
performance penalty on all regular expression matches. To avoid this
penalty, you can extract the same substring by using L</@->. Starting
This is similar to C<$&> (C<$MATCH>) except that it does not incur the
performance penalty associated with that variable.
-In Perl v5.16 and earlier, it is only guaranteed
+In Perl v5.18 and earlier, it is only guaranteed
to return a defined value when the pattern was compiled or executed with
-the C</p> modifier. In Perl v5.18, the C</p> modifier does nothing, so
+the C</p> modifier. In Perl v5.20, the C</p> modifier does nothing, so
C<${^MATCH}> does the same thing as C<$MATCH>.
This variable was added in Perl v5.10.0.
pattern match, not counting any matches hidden within a BLOCK or C<eval>
enclosed by the current BLOCK.
-In Perl v5.16 and earlier, the use of this variable
+In Perl v5.18 and earlier, the use of this variable
anywhere in a program imposes a considerable
performance penalty on all regular expression matches. To avoid this
penalty, you can extract the same substring by using L</@->. Starting
X<$`> X<${^PREMATCH}>
This is similar to C<$`> ($PREMATCH) except that it does not incur the
-performance penalty associated with that variable.
-In Perl v5.16 and earlier, it is only guaranteed
+performance penalty associated with that variable.
+In Perl v5.18 and earlier, it is only guaranteed
to return a defined value when the pattern was compiled or executed with
-the C</p> modifier. In Perl v5.18, the C</p> modifier does nothing, so
+the C</p> modifier. In Perl v5.20, the C</p> modifier does nothing, so
C<${^PREMATCH}> does the same thing as C<$PREMATCH>.
This variable was added in Perl v5.10.0
/def/;
print "$`:$&:$'\n"; # prints abc:def:ghi
-In Perl v5.16 and earlier, the use of this variable
+In Perl v5.18 and earlier, the use of this variable
anywhere in a program imposes a considerable
performance penalty on all regular expression matches.
To avoid this penalty, you can extract the same substring by
This is similar to C<$'> (C<$POSTMATCH>) except that it does not incur the
performance penalty associated with that variable.
-In Perl v5.16 and earlier, it is only guaranteed
+In Perl v5.18 and earlier, it is only guaranteed
to return a defined value when the pattern was compiled or executed with
-the C</p> modifier. In Perl v5.18, the C</p> modifier does nothing, so
+the C</p> modifier. In Perl v5.20, the C</p> modifier does nothing, so
C<${^POSTMATCH}> does the same thing as C<$POSTMATCH>.
This variable was added in Perl v5.10.0.