Changes from perl 5.9.2
Rafael Garcia-Suarez [Sun, 21 Oct 2007 10:59:47 +0000 (10:59 +0000)]
p4raw-id: //depot/perl@32154

pod/perl5100delta.pod

index 6b91800..a11a652 100644 (file)
@@ -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<say()>
@@ -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<PERLIO_DEBUG> 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<PERLIO_DEBUG> 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<Misc Attribute Decoration>, is a
@@ -586,6 +600,24 @@ with it. (Larry Wall, Nicholas Clark)
 
 =head1 Modules and Pragmata
 
+=head2 New modules
+
+=over 4
+
+=item *
+
+C<encoding::warnings>, 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<Module::CoreList>, 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<corelist>.
+
+=back
+
 =head1 Utility Changes
 
 =over 4
@@ -602,6 +634,25 @@ C<i> command.
 Perl has a new -dt command-line flag, which enables threads support in the
 debugger.
 
+=item *
+
+The C<corelist> utility is now installed with perl (see L</"New modules">
+above).
+
+=item *
+
+C<h2ph> and C<h2xs> have been made a bit more robust with regard to
+"modern" C code.
+
+=item *
+
+C<find2perl> now assumes C<-print> as a default action. Previously, it
+needed to be specified explicitly.
+
+Several bugs have been fixed in C<find2perl>, 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<reverse sort ...> 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<strict> 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<Deprecated use of my() in false conditional>,
@@ -633,6 +711,18 @@ construct
 
 See L<perldiag>. Use C<state> variables instead.
 
+A new warning, C<!=~ should be !~>, is emitted to prevent this misspelling
+of the non-matching operator.
+
+The warning I<Newline in left-justified string> has been removed.
+
+The error I<Too late for "-T" option> has been reformulated to be more
+descriptive.
+
+C<perl -V> has several improvements, making it more useable from shell
+scripts to get the value of configuration variables. See L<perlrun> for
+details.
+
 =head1 Changed Internals
 
 =head2 Reordering of SVt_* constants