History-ChangesWhat is new for perl v5.8.6Daftar Isi NAMEperl586delta - what is new for perl v5.8.6 DESCRIPTIONThis document describes differences between the 5.8.5 release andthe 5.8.6 release. Incompatible ChangesThere are no changes incompatible with 5.8.5. Core EnhancementsThe perl interpreter is now more tolerant of UTF-16-encoded scripts. On Win32, Perl can now use non-IFS compatible LSPs, which allows Perl towork in conjunction with firewalls such as McAfee Guardian. For full detailssee the file README.win32, particularly if you're running Win95. Modules and PragmataWith the base pragma, an intermediate class with no fields used to messesup private fields in the base class. This has been fixed. Cwd upgraded to version 3.01 (as part of the new PathTools distribution) Devel::PPPort upgraded to version 3.03 File::Spec upgraded to version 3.01 (as part of the new PathTools distribution) Encode upgraded to version 2.08 ExtUtils::MakeMaker remains at version 6.17, as later stable releases currentlyavailable on CPAN have some issues with core modules on some core platforms. I18N::LangTags upgraded to version 0.35 Math::BigInt upgraded to version 1.73 Math::BigRat upgraded to version 0.13 MIME::Base64 upgraded to version 3.05 POSIX::sigprocmask function can now retrieve the current signal mask withoutalso setting it. Time::HiRes upgraded to version 1.65
Utility ChangesPerl has a new -dt command-line flag, which enables threads support in thedebugger. Performance Enhancementsreverse sort ... is now optimized to sort in reverse, avoiding thegeneration of a temporary intermediate list.
for (reverse @foo) now iterates in reverse, avoiding the generation of atemporary reversed list.
Selected Bug FixesThe regexp engine is now more robust when given invalid utf8 input, as issometimes generated by buggy XS modules. foreach on threads::shared array used to be able to crash Perl. This bughas now been fixed.
A regexp in STDOUT 's destructor used to coredump, because the regexp padwas already freed. This has been fixed. goto & is now more robust - bugs in deep recursion and chained goto & have been fixed.
Using delete on an array no longer leaks memory. A pop of an item from ashared array reference no longer causes a leak. eval_sv() failing a taint test could corrupt the stack - this has beenfixed.
On platforms with 64 bit pointers numeric comparison operators used toerroneously compare the addresses of references that are overloaded, ratherthan using the overloaded values. This has been fixed. read into a UTF8-encoded buffer with an offset off the end of the bufferno longer mis-calculates buffer lengths.
Although Perl has promised since version 5.8 that sort() would bestable, the two cases sort {$b cmp $a} and sort {$b <=> $a} couldproduce non-stable sorts. This is corrected in perl5.8.6. Localising $^D no longer generates a diagnostic message about valid -Dflags. New or Changed DiagnosticsFor -t and -T, Too late for "-T" optionhas been changed to the more informative "-T" is on the #! line, it must also be used on the command line Changed InternalsFrom now on all applications embedding perl will behave as if perlwere compiled with -DPERL_USE_SAFE_PUTENV. See "Environment access" inthe INSTALL file for details. Most C source files now have comments at the top explaining their purpose,which should help anyone wishing to get an overview of the implementation. New TestsThere are significantly more tests for the B suite of modules. Reporting BugsIf you find what you think is a bug, you might check the articlesrecently posted to the comp.lang.perl.misc newsgroup and the perlbug database at http://bugs.perl.org. There may also beinformation at http://www.perl.org, the Perl Home Page. If you believe you have an unreported bug, please run the perlbugprogram included with your release. Be sure to trim your bug downto a tiny but sufficient test case. Your bug report, along with theoutput of perl -V , will be sent off to [email protected] to beanalysed by the Perl porting team. You can browse and searchthe Perl 5 bugs at http://bugs.perl.org/ SEE ALSOThe Changes file for exhaustive details on what changed. The INSTALL file for how to build Perl. The README file for general stuff. The Artistic and Copying files for copyright information. |