=head1 Core Enhancements
+=head2 New mechanism for experimental features
+
+Newly-added experimental features will now require this incantation:
+
+ no warnings "experimental::feature_name";
+ use feature "feature_name"; # would warn without the prev line
+
+There is a new warnings category, called "experimental", containing
+warnings that the L<feature> pragma emits when enabling experimental
+features.
+
+Newly-added experimental features will also be given special warning IDs,
+which consist of "experimental::" followed by the name of the feature. (The
+plan is to extend this mechanism eventually to all warnings, to allow them
+to be enabled or disabled individually, and not just by category.)
+
+By saying
+
+ no warnings "experimental::feature_name";
+
+you are taking responsibility for any breakage that future changes to, or
+removal of, the feature may cause.
+
+Existing experimental features may begin emitting these warnings, too. Please
+consult L<perlexperiment> for information on which features are considered
+experimental.
+
=head2 Hash overhaul
Changes to the implementation of hashes in perl 5.18.0 will be one of the most
$ PERL_HASH_SEED_DEBUG=1 ./perl -e1
HASH_FUNCTION = MURMUR3 HASH_SEED = 0x1476bb9f
-=head2 Regular Expression Set Operations
+=head2 Upgrade to Unicode 6.2
-This is an experimental feature to allow matching against the union,
-intersection, etc., of sets of code points, similar to
-L<Unicode::Regex::Set>. It can also be used to extend C</x> processing
-to [bracketed] character classes, and as a replacement of user-defined
-properties, allowing more complex expressions than they do. See
-L<perlre/(?[ ])>.
+Perl now supports the final version of Unicode 6.2. Earlier releases in
+the 5.17 series supported Unicode 6.2 beta versions. There were no
+substantive changes in the final Unicode 6.2 version from the most
+recent beta, included in Perl 5.17.4. A list of changes from Unicode
+6.1 is at L<http://www.unicode.org/versions/Unicode6.2.0>.
=head2 Character name aliases may now include non-Latin1-range characters
a name that has punctuation in it, for example). See L<charnames/CUSTOM
ALIASES>.
-=head2 Upgrade to Unicode 6.2
-
-Perl now supports the final version of Unicode 6.2. Earlier releases in
-the 5.17 series supported Unicode 6.2 beta versions. There were no
-substantive changes in the final Unicode 6.2 version from the most
-recent beta, included in Perl 5.17.4. A list of changes from Unicode
-6.1 is at L<http://www.unicode.org/versions/Unicode6.2.0>.
-
=head2 New DTrace probes
The following new DTrace probes have been added:
This is the handle used by C<$.> and by C<tell> and C<eof> without
arguments.
-=head2 Looser here-doc parsing
-
-Here-doc terminators no longer require a terminating newline character when
-they occur at the end of a file. This was already the case at the end of a
-string eval [perl #65838].
-
-=head2 New mechanism for experimental features
-
-Newly-added experimental features will now require this incantation:
-
- no warnings "experimental::feature_name";
- use feature "feature_name"; # would warn without the prev line
-
-There is a new warnings category, called "experimental", containing
-warnings that the L<feature> pragma emits when enabling experimental
-features.
-
-Newly-added experimental features will also be given special warning IDs,
-which consist of "experimental::" followed by the name of the feature. (The
-plan is to extend this mechanism eventually to all warnings, to allow them
-to be enabled or disabled individually, and not just by category.)
-
-By saying
-
- no warnings "experimental::feature_name";
+=head2 Regular Expression Set Operations
-you are taking responsibility for any breakage that future changes to, or
-removal of, the feature may cause.
+This is an B<experimental> feature to allow matching against the union,
+intersection, etc., of sets of code points, similar to
+L<Unicode::Regex::Set>. It can also be used to extend C</x> processing
+to [bracketed] character classes, and as a replacement of user-defined
+properties, allowing more complex expressions than they do. See
+L<perlre/(?[ ])>.
=head2 Lexical subroutines
-This new feature is still considered experimental. To enable it, use the
-mechanism described above:
+This new feature is still considered B<experimental>. To enable it:
use 5.018;
no warnings "experimental::lexical_subs";
C<our sub> declares a lexical alias to the package subroutine of the same
name.
-See L<perlsub/Lexical Subroutines>.
+For more information, see L<perlsub/Lexical Subroutines>.
=head2 Computed Labels
were treated as 0. Now negative signals names like C<-INT> are supported
and treated the same way as -2 [perl #112990].
-=head2 C<pack> is now constant folded.
-
-C<pack> with constant arguments is now constant folded in most cases
-[perl #113470].
-
=head1 Security
=head2 C<Storable> security warning in documentation
=item *
+C<pack> with constant arguments is now constant folded in most cases
+[perl #113470].
+
+=item *
+
Speed up in regular expression matching against Unicode properties. The
largest gain is for C<\X>, the Unicode "extended grapheme cluster". The
gain for it is about 35% - 40%. Bracketed character classes, e.g.,
=item *
+Here-doc terminators no longer require a terminating newline character when
+they occur at the end of a file. This was already the case at the end of a
+string eval [perl #65838].
+
+=item *
+
-DPERL_GLOBAL_STRUCT builds now free the global struct B<after>
they've finished using it.