=head1 NAME
-[ Any text flagged as XXX needs to be processed before release. ]
-
perldelta - what is new for perl v5.11.2
=head1 DESCRIPTION
This document describes differences between the 5.11.1 release and
the 5.11.2 release.
-=head1 Notice
-
-XXX Unlikely to need this section.
-
-=head1 Incompatible Changes
-
-=head2 Use of C<:=> to mean an empty attribute list is now deprecated.
-
-An accident of Perl's parser meant that these constructions were all equivalent:
-
- my $pi := 4;
- my $pi : = 4;
- my $pi : = 4;
-
-with the C<:> being treated as the start of an attribute list, which ends
-before the C<=>. As whitespace is not significant here, all are parsed as an
-empty attribute list, hence all the above are equivalent to, and better written
-as
-
- my $pi = 4;
-
-because no attribute processing is done for an empty list.
-
-As is, this meant that C<:=> cannot be used as a new token, without silently
-changing the meaning of existing code. Hence that particular form is now
-deprecated, and will become a syntax error. If it is absolutely necessary to
-have empty attribute lists (for example, because of a code generator) then
-avoid the warning by adding a space before the C<=>.
-
=head1 Core Enhancements
-XXX New core language features go here. Summarise user-visible core language
-enhancements. Particularly prominent performance optimisations could go
-here, but most should go in the L</Performance Enhancements> section.
-
=head2 qr overloading
It is now possible to overload the C<qr//> operator, that is, conversion
This module is mainly used for test purposes, and is not normally
installed, but also serves as an example of how to use the new mechanism.
+=head2 Lexer API
+
+We have added a public API for the lowest layers of lexing. This is meant
+to provide a solid foundation for the parsing that Devel::Declare and
+similar modules do, and it complements the pluggable keyword mechanism.
+The API consists of some existing variables combined with some new functions,
+all marked as experimental (which making them public certainly is).
+
=head2 APIs for more internals
The lowest layers of the lexer and parts of the pad system now have C
mechanism, so extensions could only properly influence subroutine names
that appeared with an C<&> sigil.)
-=head1 New Platforms
-
-XXX List any platforms that this version of perl compiles on, that previous
-versions did not. These will either be enabled by new files in the F<hints/>
-directories, or new subdirectories and F<README> files at the top level of the
-source tree.
-
=head1 Modules and Pragmata
-XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
-go here, in a list ordered by distribution name. Minimally it should be the
-module version, but it's more useful to the end user to give a paragraph's
-summary of the module's changes. In an ideal world, dual-life modules would
-have a F<Changes> file that could be cribbed.
-
=head2 New Modules and Pragmata
=over 4
=item C<Module::Build>
+Updated to 0.35_08.
+
=item C<Module::CoreList>
=item C<Pod::Perldoc>
=head1 Utility Changes
-XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
-here. Most of these are built within the directories F<utils> and F<x2p>.
-
=over 4
-=item F<XXX>
+=item F<a2p>
-XXX
+Fixed bugs with the match() operator in list context, remove mention
+of $[.
=back
-=head1 New Documentation
-
-XXX Changes which create B<new> files in F<pod/> go here.
-
-=over 4
-
-=item L<XXX>
-
-XXX
-
-=back
-
-=head1 Changes to Existing Documentation
-
-XXX Changes which significantly change existing files in F<pod/> go here.
-Any changes to F<pod/perldiag.pod> should go in L</New or Changed Diagnostics>.
-
=head1 Performance Enhancements
=over 4
=head1 New or Changed Diagnostics
-XXX New or changed warnings emitted by the core's C<C> code go here.
+Several new diagnostics, see L<perldiag> for details.
=over 4
-=item C<XXX>
+=item C<Bad plugin affecting keyword '%s'>
-XXX
+=item C<gmtime(%.0f) too large>
+
+=item C<Lexing code attempted to stuff non-Latin-1 character into Latin-1 input>
+
+=item C<Lexing code internal error (%s)>
+
+=item C<localtime(%.0f) too large>
+
+=item C<Overloaded dereference did not return a reference>
+
+=item C<Overloaded qr did not return a REGEXP>
+
+=item C<Perl_pmflag() is deprecated, and will be removed from the XS API>
+
+=back
+
+One diagnostic has been removed:
+
+=over 4
+
+=item C<Runaway format>
=back
=head1 New Tests
-XXX Changes which create B<new> files in F<t/> go here. Changes to
-existing files in F<t/> aren't worth summarising, although the bugs that
-they represent may be.
-
=over 4
-=item F<XXX>
+=item F<t/op/while_readdir.t>
-XXX
+Test that a bare readdir in while loop sets $_.
=back
=head1 Known Problems
-XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
-tests that had to be C<TODO>ed for the release would be noted here, unless
-they were specific to a particular platform (see below).
-
-This is a list of some significant unfixed bugs, which are regressions
-from either 5.10.1 or 5.11.1.
-
=over 4
-=item *
+=item Known test failures on VMS
-XXX
+Perl 5.11.2 fails a small set of core and CPAN tests as of this release.
+With luck, that'll be sorted out for 5.11.3.
=back
=head1 Deprecations
-XXX Add any new known deprecations here.
-
The following items are now deprecated.
-=over 4
+=head2 Use of C<:=> to mean an empty attribute list is now deprecated.
-=item *
+An accident of Perl's parser meant that these constructions were all equivalent:
-XXX
+ my $pi := 4;
+ my $pi : = 4;
+ my $pi : = 4;
-=back
+with the C<:> being treated as the start of an attribute list, which ends
+before the C<=>. As whitespace is not significant here, all are parsed as an
+empty attribute list, hence all the above are equivalent to, and better written
+as
+
+ my $pi = 4;
+
+because no attribute processing is done for an empty list.
+
+As is, this meant that C<:=> cannot be used as a new token, without silently
+changing the meaning of existing code. Hence that particular form is now
+deprecated, and will become a syntax error. If it is absolutely necessary to
+have empty attribute lists (for example, because of a code generator) then
+avoid the warning by adding a space before the C<=>.
=head1 Platform Specific Notes
stars here. It's probably best to group changes under the same section layout
as the main perldelta
-=head1 Obituary
-
-XXX If any significant core contributor has died, we've added a short obituary
-here.
-
=head1 Acknowledgements
-XXX The list of people to thank goes here.
+Perl 5.11.2 represents approximately 3 weeks development since Perl 5.11.1
+contains 29,992 lines of changes across 458 files from 38 authors and committers:
+
+Abhijit Menon-Sen, Abigail, Ben Morrow, Bo Borgerson, Brad Gilbert, Bram,
+Chris Williams, Craig A. Berry, Daniel Frederick Crisman, Dave Rolsky,
+David E. Wheeler, David Golden, Eric Brine, Father Chrysostomos,
+Frank Wiegand, Gerard Goossen, Gisle Aas, Graham Barr, Harmen, H.Merijn Brand,
+Jan Dubois, Jerry D. Hedden, Jesse Vincent, Karl Williamson, Kevin Ryde,
+Leon Brocard, Nicholas Clark, Paul Marquess, Philippe Bruhat,
+Rafael Garcia-Suarez, Sisyphus, Steffen Mueller, Steve Hay, Steve Peters,
+Vincent Pit, Yuval Kogman, Yves Orton, and Zefram.
+Many of the changes included in this version originated in the CPAN
+modules included in Perl's core. We're grateful to the entire CPAN
+community for helping Perl to flourish.
=head1 Reporting Bugs
If you find what you think is a bug, you might check the articles
recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
+bug database at http://rt.perl.org/perlbug/ . There may also be
information at http://www.perl.org/ , the Perl Home Page.
If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
output of C<perl -V>, will be sent off to perlbug@perl.org to be
analysed by the Perl porting team.