diff options
Diffstat (limited to 'pod/perl5133delta.pod')
-rw-r--r-- | pod/perl5133delta.pod | 113 |
1 files changed, 53 insertions, 60 deletions
diff --git a/pod/perl5133delta.pod b/pod/perl5133delta.pod index a9f5703efd..c39dbf4f51 100644 --- a/pod/perl5133delta.pod +++ b/pod/perl5133delta.pod @@ -15,17 +15,16 @@ L<perl5132delta>, which describes differences between 5.13.1 and =head1 Core Enhancements -=head2 \o{...} +=head2 \o{...} for octals -The escape sequence C<"\o"> in double-quotish contexts is now defined. +There is a new escape sequence, C<"\o">, in double-quote-like contexts. It must be followed by braces enclosing an octal number of at least one -digit. It means the character whose ordinal value is that octal number. -This construct allows large octal ordinals beyond the current max of -0777 to be represented. It also allows you to specify a character in -octal which can safely be concatenated with other regex snippets without -danger of changing its meaning, and one which won't ever be confused -with being a backreference to a regex capture group. See -L<perlre/Capture groups> +digit. It interpolates as the character with an ordinal value equal to +the octal number. This construct allows large octal ordinals beyond the +current max of 0777 to be represented. It also allows you to specify a +character in octal which can safely be concatenated with other regex +snippets and which won't be confused with being a backreference to +a regex capture group. See L<perlre/Capture groups>. =head2 C<\N{I<name>}> and C<charnames> enhancements @@ -38,7 +37,7 @@ in common usage of some C1 full names. In the past, it was ineffective to override one of Perl's abbreviations with your own custom alias. Now it works. -And you can create a custom alias directly to the ordinal of a +You can also create a custom alias directly to the ordinal of a character, known by C<\N{...}>, C<charnames::vianame()>, and C<charnames::viacode()>. Previously, an alias had to be to an official Unicode character name. This made it impossible to create an alias for @@ -65,26 +64,27 @@ Perl more internally consistent. A round-trip with C<eval sprintf =head2 \400 - \777 Use of C<\400> - C<\777> in regexes in certain circumstances has given -different, anomalous behavior than their use in all other double-quotish -contexts. Since 5.10.1, a deprecated warning message has been raised -when this happens. Now, all double-quotish contexts have the same -behavior, namely to be equivalent to C<\x{100}> - C<\x{1FF}>, with no -deprecation warning. Use of these values in the command line option -C<"-0"> retains the current meaning to slurp input files whole; -previously, this was documented only for C<"-0777">. It is recommended, -however, because of various ambiguities, to use the new L</\o{...}> -construct to represent characters in octal (fa1639c..f6993e9). +different, anomalous behavior than their use in all other +double-quote-like contexts. Since 5.10.1, a deprecated warning message +has been raised when this happens. Now, all double-quote-like contexts +have the same behavior, namely to be equivalent to C<\x{100}> - +C<\x{1FF}>, with no deprecation warning. Use of these values in the +command line option C<"-0"> retains the current meaning to slurp input +files whole; previously, this was documented only for C<"-0777">. It is +recommended, however, because of various ambiguities, to use the new +L</\o{...}> construct to represent characters in octal. +(fa1639c..f6993e9). =head1 Deprecations -=head2 Omitting a space between regular expression and subsequent word +=head2 Omitting a space between a regular expression and subsequent word Omitting a space between a regex pattern or pattern modifiers and the -following word is deprecated. Deprecation for regular expression matches -was added in Perl 5.13.2. In this release, the deprecation is extended -to regular expression substitutions. For example, +following word is deprecated. Deprecation for regular expression +I<matches> was added in Perl 5.13.2. In this release, the deprecation +is extended to regular expression I<substitutions>. For example, C<< s/foo/bar/sand $bar >> will still be parsed as -C<< s/foo/bar/s and $bar >> but will issue a warning. +C<< s/foo/bar/s and $bar >> but will issue a warning. (aa78b66) =head2 Deprecation warning added for deprecated-in-core .pl libs @@ -96,14 +96,8 @@ course, does not generate the warning. (0111154) =head1 Performance Enhancements -=over 4 - -=item * - There are several small optimizations to improve CPU cache performance -=back - =head1 Modules and Pragmata =head2 Updated Modules and Pragmata @@ -218,7 +212,7 @@ IPC-Cmd updated to CPAN version 0.60 (e667e1e) IPC-SysV updated to CPAN version 2.03 (10613b6) -=item * +=item * Locale::Maketext guts have been merged back into the main module (87d86da) and adds external cache support (ace47d6) @@ -277,7 +271,7 @@ The Perl 5.12.1 perldelta file was added from the Perl maintenance branch =item * -Octal character escapes in documentation now prefer a three-digit octal +Octal character escapes in documentation now prefer a three-digit octal escape or the new C<\o{}> escape as they have more consistent behavior in different contexts than other forms. (ce7b6f0) (d8b950d) (e1f120a) @@ -298,7 +292,7 @@ Added cautionary note about "no VERSION" (e0de7c2) =item * -Add additional notes regarding srand and forking (d460397) +Added additional notes regarding srand when forking (d460397) =back @@ -312,8 +306,8 @@ Improved documentation of unusual character escapes (4068718, 9644846) =item * -Clarifies how hexadecimal escapes are interpreted, with particular -attention to the treatment of invalid characters. (9644846) +Clarified how hexadecimal escapes are interpreted, with particular +attention to the treatment of invalid characters (9644846) =back @@ -323,7 +317,7 @@ attention to the treatment of invalid characters. (9644846) =item * -Clarifies the behavior of the C<-0NNN> switch for C<-0400> or higher (7ba31cb) +Clarified the behavior of the C<-0NNN> switch for C<-0400> or higher (7ba31cb) =back @@ -344,7 +338,7 @@ terms like "deprecation" (70e4a83) =item * -Added examples on the perils of not using \g{} when there are more +Added examples of the perils of not using \g{} when there are more than nine back-references (9d86067) =back @@ -355,7 +349,7 @@ than nine back-references (9d86067) =item * -Some examples updated for modern Perl style (67d00dd) +Updated some examples for modern Perl style (67d00dd) =back @@ -368,9 +362,9 @@ Some examples updated for modern Perl style (67d00dd) =item * The remote terminal works after forking and spawns new sessions - one -for each forked process. +for each forked process (11653f7) -=item * +=item * Uses the less pager path from Config instead of searching for it (bf320d6) @@ -382,7 +376,8 @@ Uses the less pager path from Config instead of searching for it (bf320d6) =item * -Adjusts 'make test.valgrind' to account for cpan/dist/ext separation. (e07ce2e) +Adjusted 'make test.valgrind' to account for cpan/dist/ext separation +(e07ce2e) =back @@ -414,7 +409,7 @@ Several test files have been modernized to use Test::More Support for MacOS Classic within ExtUtils::MakeMaker was removed from Perl in December 2004. Vestigial MacOS Classic specific code has now been removed -from other core modules as well (8f8c2a4..c457df0). +from other core modules as well (8f8c2a4..c457df0) =back @@ -425,7 +420,7 @@ from other core modules as well (8f8c2a4..c457df0). =item Win32 t/io/openpid.t now uses the alarm() watchdog strategy for more -robustness. (5732108) +robustness (5732108) =back @@ -452,15 +447,15 @@ function. See L<perlguts/"Compile-time scope hooks">. =item * -Added C<Perl_croak_no_modify()> to implement -C<Perl_croak("%s", PL_no_modify)>. (6ad8f25) +Added C<Perl_croak_no_modify()> to implement +C<Perl_croak("%s", PL_no_modify)> (6ad8f25) =item * -Added prototypes for C<tie()> and C<untie()> to allow overloading. (RT#75902) +Added prototypes for C<tie()> and C<untie()> to allow overloading (RT#75902) (1db4d19) -=item * +=item * Adds C<my_[l]stat_flags()> to replace C<my_[l]stat()>. C<my_stat()> and C<my_lstat()> call get magic on the stack arg, so create C<_flags()> @@ -483,17 +478,17 @@ longer crash the interpreter. =item * Fixed readline() when interrupted by signals so it no longer returns -the "same thing" as before or random memory. +the "same thing" as before or random memory =item * Fixed a regression of kill() when a match variable is used for the -process ID to kill. (RT#75812) (8af710e) +process ID to kill (RT#75812) (8af710e) =item * Fixed several subtle bugs in sort() when @_ is accessed within a subroutine -used for sorting. (RT#72334) (8f443ca) +used for sorting (RT#72334) (8f443ca) =item * @@ -509,7 +504,7 @@ Fixed POSIX::strftime memory leak (RT#73520) (c4bc4aa) =item * -Doesn't set strict with C<no VERSION> if C<VERSION> is greater than 5.12. +Doesn't set strict with C<no VERSION> if C<VERSION> is greater than 5.12 (da8fb5d) =item * @@ -549,23 +544,21 @@ Fix pthread include error for Time::Piece (e9f284c) =item * Bug fixes involving CvGV reference counting break Sub::Name. A -patch has been sent upstream to the maintainer. +patch has been sent upstream to the maintainer =item * readline() returns an empty string instead of undef when it is -interrupted by a signal. +interrupted by a signal =item * Test-Harness was updated from 3.17 to 3.21 for this release. A rewrite -in how it handles non-Perl tests (in 3.17_01) broke argument passing -to non-Perl tests with L<prove(1)> (RT #59186), and required that -non-Perl tests be run as C<prove ./test.sh> instead of C<prove -test.sh> (RT #59457). - -These issues are being solved upstream, but didn't make it into this -release. They're expected to be fixed in time for perl v5.13.4. +in how it handles non-Perl tests (in 3.17_01) broke argument passing to +non-Perl tests with L<prove(1)> (RT #59186), and required that non-Perl +tests be run as C<prove ./test.sh> instead of C<prove test.sh> These +issues are being solved upstream, but didn't make it into this release. +They're expected to be fixed in time for perl v5.13.4. (RT #59457) =back |