From: Rafael Garcia-Suarez Date: Sun, 21 Oct 2007 10:59:47 +0000 (+0000) Subject: Changes from perl 5.9.2 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0eece9c09a6a152af3ab6177d8a648d39ded5347;p=p5sagit%2Fp5-mst-13.2.git Changes from perl 5.9.2 p4raw-id: //depot/perl@32154 --- diff --git a/pod/perl5100delta.pod b/pod/perl5100delta.pod index 6b91800..a11a652 100644 --- a/pod/perl5100delta.pod +++ b/pod/perl5100delta.pod @@ -376,6 +376,13 @@ logically match their complements. C<\R> matches a generic linebreak, that is, vertical whitespace, plus the multi-character sequence C<"\x0D\x0A">. +=item Unicode Character Classes + +Perl's regular expression engine now contains support for matching on the +intersection of two Unicode character classes. You can also now refer to +user-defined character classes from within other user defined character +classes. + =back =head2 C @@ -569,12 +576,19 @@ octal. The B<-C> option can no longer be used on the C<#!> line. It wasn't working there anyway. +=head2 PERLIO_DEBUG + +The C environment variable has no longer any effect for +setuid scripts and for scripts run with B<-T>. + +Moreover, with a thread-enabled perl, using C could lead to +an internal buffer overflow. This has been fixed. + =head2 UCD 5.0.0 The copy of the Unicode Character Database included in Perl 5 has been updated to version 5.0.0. - =head2 MAD MAD, which stands for I, is a @@ -586,6 +600,24 @@ with it. (Larry Wall, Nicholas Clark) =head1 Modules and Pragmata +=head2 New modules + +=over 4 + +=item * + +C, by Audrey Tang, is a module to emit warnings +whenever an ASCII character string containing high-bit bytes is implicitly +converted into UTF-8. + +=item * + +C, by Richard Clamp, is a small handy module that tells +you what versions of core modules ship with any versions of Perl 5. It +comes with a command-line frontend, C. + +=back + =head1 Utility Changes =over 4 @@ -602,6 +634,25 @@ C command. Perl has a new -dt command-line flag, which enables threads support in the debugger. +=item * + +The C utility is now installed with perl (see L +above). + +=item * + +C and C have been made a bit more robust with regard to +"modern" C code. + +=item * + +C now assumes C<-print> as a default action. Previously, it +needed to be specified explicitly. + +Several bugs have been fixed in C, regarding C<-exec> and +C<-eval>. Also the options C<-path>, C<-ipath> and C<-iname> have been +added. + =back =head1 New Documentation @@ -611,18 +662,45 @@ is now documented. =head1 Performance Enhancements +=over 4 + +=item * + Sorting arrays in place (C<@a = sort @a>) is now optimized to avoid making a temporary copy of the array. +Likewise, C is now optimized to sort in reverse, +avoiding the generation of a temporary intermediate list. + +=item * + Access to elements of lexical arrays via a numeric constant between 0 and 255 is now faster. (This used to be only the case for global arrays.) +=item * + +The regexp engine now implements the trie optimization : it's able to +factorize common prefixes and suffixes in regular expressions. A new +special variable, ${^RE_TRIE_MAXBUF}, has been added to fine-tune this +optimization. + +=back + =head1 Installation and Configuration Improvements +Run-time customization of @INC can be enabled by passing the +C<-Dusesitecustomize> flag to configure. When enabled, this will make perl +run F<$sitelibexp/sitecustomize.pl> before anything else. This script can +then be set up to add additional entries to @INC. + +There is alpha support for relocatable @INC entries. + =head1 Selected Bug Fixes C wasn't in effect in regexp-eval blocks (C). +C<$Foo::_> was wrongly forced as C<$main::_>. + =head1 New or Changed Diagnostics A new deprecation warning, I, @@ -633,6 +711,18 @@ construct See L. Use C variables instead. +A new warning, C, is emitted to prevent this misspelling +of the non-matching operator. + +The warning I has been removed. + +The error I has been reformulated to be more +descriptive. + +C has several improvements, making it more useable from shell +scripts to get the value of configuration variables. See L for +details. + =head1 Changed Internals =head2 Reordering of SVt_* constants