X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldelta.pod;h=9ac2964b02281302582a169000f082dc466d3ecd;hb=b851fbc1add6c3d9fa6158884279133c311a3efc;hp=923a68c7d529fb49f2d4d420d373a941b58872f5;hpb=44da0e7134efcef6a4b09176e1e4fe8cc9ae771a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 923a68c..9ac2964 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -11,6 +11,9 @@ Many of the bug fixes in 5.8.0 were already seen in the 5.6.1 maintenance release since the two releases were kept closely coordinated. +If you are upgrading from Perl 5.005_03, you might also want +to read L. + =head1 Highlights In 5.8.0 =over 4 @@ -62,6 +65,15 @@ change will probably break backward compatibility with compiled modules. The change was made to make Perl more compliant with other applications like modperl which are using the AIX native interface. +=head2 Attributes for C variables now handled at run-time. + +The C syntax now applies variable attributes at +run-time. (Subroutine and C variables still get attributes applied +at compile-time.) See L for additional details. In particular, +however, this allows variable attributes to be useful for C interfaces, +which was a deficiency of earlier releases. Note that the new semantics +doesn't work with the Attribute::Handlers module (as of version 0.76). + =head2 Socket Extension Dynamic in VMS The Socket extension is now dynamically loaded instead of being @@ -288,11 +300,19 @@ the child process. =back -=head2 Signals Are Now Safe +=head2 Safe Signals Perl used to be fragile in that signals arriving at inopportune moments could corrupt Perl's internal state. Now Perl postpones handling of -signals until it's safe. +signals until it's safe (between opcodes). + +This change may have surprising side effects because signals no more +interrupt Perl instantly. Perl will now first finish whatever it was +doing, like finishing an internal operation (like sort()) or an +external operation (like an I/O operation), and only then look at any +arrived signals (and before starting the next operation). No more corrupt +internal state since the current operation is always finished first, +but the signal may take more time to get heard. =head2 Unicode Overhaul @@ -678,7 +698,7 @@ to Quoted-Printable. See L. =item * C, by Russ Allbery, has been added, -to parse L<> links in pods as described in the new +to parse LZ<><> links in pods as described in the new perlpodspec. =item * @@ -2218,7 +2238,8 @@ Made possible to propagate customised exceptions via croak()ing. =item * -Now xsubs can have attributes just like subs. +Now xsubs can have attributes just like subs. (Well, at least the +built-in attributes.) =item * @@ -2425,14 +2446,18 @@ the printf format "%.0f", most often they produce "0" and "-0".) =head2 Failure of Thread tests -B +B The following tests are known to fail due to fundamental problems in the 5.005 threading implementation. These are not new failures--Perl 5.005_0x has the same bugs, but didn't have these tests. - lib/autouse.t 4 - t/lib/thr5005.t 19-20 + ext/List/Util/t/first 2 + lib/autouse 4 + ext/Thread/thr5005 19-20 + +These failures are unlikely to get fixed. =head2 UNICOS @@ -2502,15 +2527,6 @@ hard-to-fix ways. As a stop-gap measure to avoid people from getting frustrated at the mysterious results (core dumps, most often) it is for now forbidden (you will get a fatal error even from an attempt). -=head2 Variable Attributes are not Currently Usable for Tieing - -This limitation will hopefully be fixed in future. (Subroutine -attributes work fine for tieing, see L). - -One way to run into this limitation is to have a loop variable with -attributes within a loop: the tie is called only once, not for each -iteration of the loop. - =head2 Building Extensions Can Fail Because Of Largefiles Some extensions like mod_perl are known to have issues with @@ -2539,7 +2555,7 @@ pP are testing for Unicode code points, not knowing about EBCDIC. The compiler suite is slowly getting better but it continues to be highly experimental. Use in production environments is discouraged. -=head2 The Long Double Support is Still Experimental +=head2 The Long Double Support Is Still Experimental The ability to configure Perl's numbers to use "long doubles", floating point numbers of hopefully better accuracy, is still @@ -2551,6 +2567,29 @@ by slowdown in computations (more bits to move around, and the operations are more likely to be executed by less optimised libraries). +=head2 Seen In Perl 5.7 But Gone Now + +Some modules were seen in the Perl 5.7 development releases +but are not present in 5.8.0. + +=over 4 + +=item * + +C was removed because the implementation of C +variable attributes changed so much that the Attribute::Handlers will +require a major rewrite. (This means that you can't use +Attribute::Handler 0.76 with Perl 5.8.0.) + +=item * + +C (previously known as C) was removed +because it was felt that it didn't have enough value in it to be a +core module. It is still a useful module, though, and is available +from the CPAN. + +=back + =head1 Reporting Bugs If you find what you think is a bug, you might check the articles