This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Doc nits -- avoid bare "5.10" version numbers without a
[perl5.git] / pod / perl5100delta.pod
index dec6807..ce4892e 100644 (file)
@@ -111,10 +111,10 @@ nested balanced angle brackets:
      $                      # end of line
     /x
 
-Note, users experienced with PCRE will find that the Perl implementation
-of this feature differs from the PCRE one in that it is possible to
-backtrack into a recursed pattern, whereas in PCRE the recursion is
-atomic or "possessive" in nature. (Yves Orton)
+PCRE users should note that Perl's recursive regex feature allows
+backtracking into a recursed pattern, whereas in PCRE the recursion is
+atomic or "possessive" in nature.  As in the example above, you can
+add (?>) to control this selectively.  (Yves Orton)
 
 =item Named Capture Buffers
 
@@ -124,7 +124,7 @@ It's possible to backreference to a named buffer with the C<< \k<NAME> >>
 syntax. In code, the new magical hashes C<%+> and C<%-> can be used to
 access the contents of the capture buffers.
 
-Thus, to replace all doubled chars, one could write
+Thus, to replace all doubled chars with a single copy, one could write
 
     s/(?<letter>.)\k<letter>/$+{letter}/g
 
@@ -227,7 +227,7 @@ overriding the lexical declaration with C<our $_>. (Rafael Garcia-Suarez)
 
 A new prototype character has been added. C<_> is equivalent to C<$> but
 defaults to C<$_> if the corresponding argument isn't supplied. (both C<$>
-and <_> denote a scalar). Due to the optional nature of the argument, you
+and C<_> denote a scalar). Due to the optional nature of the argument, you
 can only use it at the end of a prototype, or before a semicolon.
 
 This has a small incompatible consequence: the prototype() function has
@@ -407,6 +407,12 @@ obtained perl isn't binary compatible with a regular perl 5.10, and has
 space and speed penalties; moreover not all regression tests still pass
 with it. (Larry Wall, Nicholas Clark)
 
+=head2 kill() on Windows
+
+On Windows platforms, C<kill(-9, $pid)> now kills a process tree.
+(On UNIX, this delivers the signal to all processes in the same process
+group.)
+
 =head1 Incompatible Changes
 
 =head2 Packing and UTF-8 strings
@@ -572,7 +578,7 @@ B::Concise).
 
 =head2 Removal of the JPL
 
-The JPL (Java-Perl Linguo) has been removed from the perl sources tarball.
+The JPL (Java-Perl Lingo) has been removed from the perl sources tarball.
 
 =head2 Recursive inheritance detected earlier
 
@@ -910,6 +916,10 @@ Inc.
 The L<perlreguts> manpage, courtesy of Yves Orton, describes internals of the
 Perl regular expression engine.
 
+The L<perlreapi> manpage describes the interface to the perl interpreter
+used to write pluggable regular expression engines (by Ævar Arnfjörð
+Bjarmason).
+
 The L<perlunitut> manpage is an tutorial for programming with Unicode and
 string encodings in Perl, courtesy of Juerd Waalboer.
 
@@ -1026,13 +1036,12 @@ this optimization. (Yves Orton)
 B<Note:> Much code exists that works around perl's historic poor
 performance on alternations. Often the tricks used to do so will disable
 the new optimisations. Hopefully the utility modules used for this purpose
-will be educated about these new optimisations by the time 5.10 is
-released.
+will be educated about these new optimisations.
 
 =item Aho-Corasick start-point optimisation
 
 When a pattern starts with a trie-able alternation and there aren't
-better optimisations available the regex engine will use Aho-Corasick
+better optimisations available, the regex engine will use Aho-Corasick
 matching to find the start point. (Yves Orton)
 
 =back
@@ -1119,12 +1128,6 @@ Efforts have been made to make perl and the core XS modules compilable
 with various C++ compilers (although the situation is not perfect with
 some of the compilers on some of the platforms tested.)
 
-=item Building XS extensions on Windows
-
-Support for building XS extension modules with the free MinGW compiler has
-been improved in the case where perl itself was built with the Microsoft
-VC++ compiler. (ActiveState)
-
 =item Support for Microsoft 64-bit compiler
 
 Support for building perl with Microsoft's 64-bit compiler has been
@@ -1384,9 +1387,15 @@ details.
 
 =head1 Changed Internals
 
-In general, the source code of perl has been refactored, tied up, and
-optimized in many places. Also, memory management and allocation has been
-improved in a couple of points.
+In general, the source code of perl has been refactored, tidied up,
+and optimized in many places. Also, memory management and allocation
+has been improved in several points.
+
+When compiling the perl core with gcc, as many gcc warning flags are
+turned on as is possible on the platform.  (This quest for cleanliness
+doesn't extend to XS code because we cannot guarantee the tidiness of
+code we didn't write.)  Similar strictness flags have been added or
+tightened for various other C compilers.
 
 =head2 Reordering of SVt_* constants
 
@@ -1471,8 +1480,6 @@ The anonymous hash and array constructors now take 1 op in the optree
 instead of 3, now that pp_anonhash and pp_anonlist return a reference to
 an hash/array when the op is flagged with OPf_SPECIAL (Nicholas Clark).
 
-=for p5p XXX have we some docs on how to create regexp engine plugins, since that's now possible ? (perlreguts)
-
 =head1 Known Problems
 
 There's still a remaining problem in the implementation of the lexical