=encoding utf8
=head1 NAME
perl5260delta - what is new for perl v5.26.0
=head1 DESCRIPTION
This document describes the differences between the 5.24.0 release and the
5.26.0 release.
=head1 Notice
This release includes three updates with widespread effects:
=over 4
=item * C no longer in C
For security reasons, the current directory (C) is no longer included
by default at the end of the module search path (C). This may have
widespread implications for the building, testing and installing of
modules, and for the execution of scripts. See the section
L) from C >>
for the full details.
=item * C may now warn
C now gives a deprecation warning when it fails to load a file which
it would have loaded had C been in C.
=item * In regular expression patterns, a literal left brace C
should be escaped
See L characters in regular expression patterns are no longer permissible>.
=back
=head1 Core Enhancements
=head2 Lexical subroutines are no longer experimental
Using the C feature introduced in v5.18 no longer emits a warning. Existing
code that disables the C<:lexical_subs> warning category
that the feature previously used will continue to work. The
C feature has no effect; all Perl code can use lexical
subroutines, regardless of what feature declarations are in scope.
=head2 Indented Here-documents
This adds a new modifier C to here-docs that tells the parser
that it should look for C^\s*$DELIM\n/> as the closing delimiter.
These syntaxes are all supported:
modifier will strip, from each line in the here-doc, the
same whitespace that appears before the delimiter.
Newlines will be copied as-is, and lines that don't include the
proper beginning whitespace will cause perl to croak.
For example:
if (1) {
print
Specifying two C characters to modify a regular expression pattern
does everything that a single one does, but additionally TAB and SPACE
characters within a bracketed character class are generally ignored and
can be added to improve readability, like
S>. Details are at
Lx and Exx>.
=head2 C, C, and C
C exposes the capture buffers of the last match as an
array. So C is C. This is a more efficient equivalent
to code like C, and you don't
have to keep track of the C either. This variable has no
single character equivalent. Note that, like the other regex magic variables,
the contents of this variable is dynamic; if you wish to store it beyond
the lifetime of the match you must copy it to another array.
C is equivalent to C (I, named captures). Other than
being more self-documenting there is no difference between the two forms.
C is equivalent to C (I, all named captures).
Other than being more self-documenting there is no difference between the
two forms.
=head2 Declaring a reference to a variable
As an experimental feature, Perl now allows the referencing operator to come
after L|perlfunc/my>, L|perlfunc/state>,
L|perlfunc/our>, or L|perlfunc/local>. This syntax must
be enabled with C