X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperl5110delta.pod;h=5baa480d06da5afa77cef382c8fad6ea2ff804c2;hb=3c9fc726db1b014d0e1e8519e11710aa7e073d8a;hp=7c668961ac59d613ccf47d814f294552a7ecb618;hpb=ad1d1c50b82921d113440583db34ebc37c3bab8b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perl5110delta.pod b/pod/perl5110delta.pod index 7c66896..5baa480 100644 --- a/pod/perl5110delta.pod +++ b/pod/perl5110delta.pod @@ -1,3 +1,5 @@ +=encoding utf8 + =head1 NAME perl5110delta - what is new for perl v5.11.0 @@ -11,11 +13,11 @@ the 5.11.0 development release. =head2 In @INC, move ARCHLIB and PRIVLIB after the current version's site_perl and vendor_perl. - =head2 Switch statement changes The handling of complex expressions by the C/C switch -statement has been enhanced. There are two new cases where C now +statement has been enhanced. These enhancements are also available in +5.10.1 and subsequent 5.10 releases. There are two new cases where C now interprets its argument as a boolean, instead of an expression to be used in a smart match: @@ -50,6 +52,8 @@ to the regular or operator, as in C.) The next section details more changes brought to the semantics to the smart match operator, that naturally also modify the behaviour of the switch statements where smart matching is implicitly used. +These changers were also made for the 5.10.1 release, and will remain in +subsequent 5.10 releases. =head2 Smart match changes @@ -204,14 +208,14 @@ C now returns undef. =head2 Unicode Character Database 5.1.0 -The copy of the Unicode Character Database included in Perl 5.10.1 has +The copy of the Unicode Character Database included in Perl 5.11.0 has been updated to 5.1.0 from 5.0.0. See L for the notable changes. =head2 A proper interface for pluggable Method Resolution Orders -As of Perl 5.10.1 there is a new interface for plugging and using method +As of Perl 5.11.0 there is a new interface for plugging and using method resolution orders other than the default (linear depth first search). The C3 method resolution order added in 5.10.0 has been re-implemented as a plugin, without changing its Perl-space interface. See L for @@ -274,7 +278,7 @@ Some support for DTrace has been added. See "DTrace support" in F. =head2 Support for C in CPAN module metadata Both C and C now support the C keyword -in the C metadata file included in most recent CPAN distributions. +in the F metadata file included in most recent CPAN distributions. This allows distribution authors to specify configuration prerequisites that must be installed before running F or F. @@ -291,8 +295,6 @@ on how to specify C when creating a distribution for CPAN. =head2 You can now set C<-W> from the C environment varialbe - - =head1 Modules and Pragmata =head2 New Modules and Pragmata @@ -335,7 +337,8 @@ Upgraded from version 0.08 to 0.09. =item C -Upgraded from version 1.02 to 1.03. +The C pragma has been removed. It had been marked as deprecated since +5.6.0. =item C @@ -363,7 +366,8 @@ have been recognised; for example, C<"\N{LATIN CAPITAL LETTER GHA}">. =item C -Upgraded from version 1.13 to 1.17. +Upgraded from version 1.13 to 1.19. Some code has been shifted from run time to +compile time, and the amount of MRO cache flushing has been minimised. =item C @@ -458,7 +462,6 @@ used to be a lightweight placeholder that loaded the actual code from C on demand. C is now a simple, empty module kept for backwards compatibility for programs that used to pre-load it. - =item C Upgraded from version 3.29 to 3.43. @@ -583,10 +586,12 @@ Upgraded from version 1.1005 to 1.1006. =item C -Upgraded from version 2.11 to 2.14. +Upgraded from version 2.11 to 2.16. File::Copy now always return 0 (not "") on failure. +FIXME - describe C + =item C Upgraded from version 0.14 to 0.20. @@ -949,7 +954,6 @@ Upgraded from version 1.04 to 1.05. UNIVERSAL->import() is now deprecated. - =item C Upgraded from version 0.34 to 0.39. @@ -987,10 +991,10 @@ C subroutines now work under the debugger. The debugger now correctly handles proxy constant subroutines, and subroutine stubs. - =item F - Perlbug now uses %Module::CoreList::bug_tracker to print out upstream bug tracker URLs. +F now uses C<%Module::CoreList::bug_tracker> to print out upstream bug +tracker URLs. Where the user names a module that their bug report is about, and we know the URL for its upstream bug tracker, provide a message to the user explaining @@ -999,7 +1003,7 @@ reporting the bug directly to upstream. =item F -Perl 5.10.1 added a new utility F, which is a variant of +Perl 5.11.0 added a new utility F, which is a variant of F, but for sending non-bug-reports to the authors and maintainers of Perl. Getting nothing but bug reports can become a bit demoralising: we'll see if this changes things. @@ -1037,9 +1041,9 @@ This describes the new F utility. =head1 Changes to Existing Documentation -The various large C files (which listed every change made to perl +The various large F files (which listed every change made to perl over the last 18 years) have been removed, and replaced by a small file, -also called C, which just explains how that same information may +also called F, which just explains how that same information may be extracted from the git version control system. The file F has been deleted, as it mainly described @@ -1053,24 +1057,17 @@ generated at build time, rather than being shipped as part of the release. =head2 Documented that when() treats specially most of the filetest operators -=head2 Documented that DESTROY is subject to AUTOLOAD, and the related optimisations. - =head2 Documented when as a syntax modifier =head2 Eliminated "Old Perl threads tutorial", which describes 5005 threads. pod/perlthrtut.pod is the same material reworked for ithreads. -=head2 Removed a link to the attrs pragma, which has now been removed. - -=head2 update PERL_MEM_LOG in perlhack.pod - =head2 Correct previous documentation: v-strings are not deprecated With version objects, we need them to use MODULE VERSION syntax. This patch removes the deprecation note. - =head1 Performance Enhancements =over 4 @@ -1081,6 +1078,12 @@ A new internal cache means that C will often be faster. =item * +The implementation of C Method Resolution Order has been optimised - +linearisation for classes with single inheritance is 40% faster. Performance +for multiple inheritance is unchanged. + +=item * + Under C, the locale-relevant information is now cached on read-only values, such as the list returned by C. This makes operations such as C in the scope of C much @@ -1116,7 +1119,7 @@ become extensions in their own right, so if you run F with options to specify an exact list of extensions to build, you will need to change it to account for this. -For 5.10.2, it is planned that many dual-life modules will have been moved +For 5.11.1, it is planned that many dual-life modules will have been moved from F to F; again this will have no effect on an installed perl, but will matter if you invoke F with a pre-canned list of extensions to build. @@ -1169,6 +1172,10 @@ On Cygwin we now strip the last number from the DLL. This has been the behaviour in the cygwin.com build for years. The hints files have been updated. +=item DomainOS + +Support for Apollo DomainOS was removed in Perl 5.11.0 + =item FreeBSD The hints files now identify the correct threading libraries on FreeBSD 7 @@ -1184,6 +1191,10 @@ C unfortunately goes into K&R mode, but C doesn't. Patches from the Haiku maintainers have been merged in. Perl should now build on Haiku. +=item MiNT + +Support for Atari MiNT was removed in Perl 5.11.0. + =item MirOS BSD Perl should now build on MirOS BSD. @@ -1221,7 +1232,7 @@ status in a VMS condition value for better interaction with GNV's bash shell and other utilities that depend on POSIX exit values. See L for details. -File::Copy now detects Unix compatibility mode on VMS. +C now detects Unix compatibility mode on VMS. =back @@ -1229,15 +1240,15 @@ File::Copy now detects Unix compatibility mode on VMS. =over 4 -=item +=item * -=item C<-I> on shebang line now adds directories in front of @INC. +C<-I> on shebang line now adds directories in front of @INC. as documented, and as does C<-I> when specified on the command-line. (Renée Bäcker) -=item +=item * -* C is now fatal when called on non-numeric process identifiers. +C is now fatal when called on non-numeric process identifiers. Previously, an 'undef' process identifier would be interpreted as a request to kill process "0", which would terminate the current process group on POSIX systems. Since process identifiers are always integers, killing a non-numeric @@ -1274,7 +1285,7 @@ arguments [RT #59998]. =item * -The C<-i.suffix> command-line switch now recreates the file using +The C<-i>I<.suffix> command-line switch now recreates the file using restricted permissions, before changing its mode to match the original file. This eliminates a potential race condition [RT #60904]. @@ -1285,17 +1296,17 @@ On some UNIX systems, the value in C<$?> would not have the top bit set =item * -Under some circumstances, $^R could incorrectly become undefined +Under some circumstances, C<$^R> could incorrectly become undefined [RT #57042]. =item * -(XS) In various hash functions, passing a pre-computed hash to when the -key is UTF-8 might result in an incorrect lookup. +In the XS API, various hash functions, when passed a pre-computed hash where +the key is UTF-8, might result in an incorrect lookup. =item * -(XS) Including F before F gave a compile-time error +XS code including F before F gave a compile-time error [RT #57176]. =item * @@ -1664,7 +1675,7 @@ outside the core should be accessing this directly anyway. =item * -A new tool, C has been added, that allows you +A new tool, F has been added, that allows you to view how a C preprocessor macro would be expanded when compiled. This is handy when trying to decode the macro hell that is the perl guts. @@ -1818,7 +1829,6 @@ A workaround is to generate the character outside of the regex: Some regexes may run much more slowly when run in a child thread compared with the thread the pattern was compiled into [RT #55600]. - =back =head1 Deprecations @@ -1866,7 +1876,6 @@ warn if ++ or -- are unable to change the value because it's beyond the limit of This uses a new warnings category: "imprecision". - =item * Make lc/uc/lcfirst/ucfirst warn when passed undef. @@ -1940,7 +1949,6 @@ Nicholas Clark, leon, shawn, alexm, rjbs, rafl, Pedro Melo, brunorc, anonymous, ☄, Tom Hukins, anonymous, Jesse, dagolden, Moritz Onken, Mark Fowler, chorny, anonymous, tmtm - Finally, thanks to Larry Wall, without whom none of this would be necessary.