man pages section 1: User Commands

Exit Print View

Updated: July 2014

perl586delta (1)


perl586delta - what is new for perl v5.8.6


Please see following description for synopsis


Perl Programmers Reference Guide                  PERL586DELTA(1)

     perl586delta - what is new for perl v5.8.6

     This document describes differences between the 5.8.5
     release and the 5.8.6 release.

Incompatible Changes
     There are no changes incompatible with 5.8.5.

Core Enhancements
     The perl interpreter is now more tolerant of UTF-16-encoded

     On Win32, Perl can now use non-IFS compatible LSPs, which
     allows Perl to work in conjunction with firewalls such as
     McAfee Guardian. For full details see the file README.win32,
     particularly if you're running Win95.

Modules and Pragmata
     o   With the "base" pragma, an intermediate class with no
         fields used to messes up private fields in the base
         class. This has been fixed.

     o   Cwd upgraded to version 3.01 (as part of the new
         PathTools distribution)

     o   Devel::PPPort upgraded to version 3.03

     o   File::Spec upgraded to version 3.01 (as part of the new
         PathTools distribution)

     o   Encode upgraded to version 2.08

     o   ExtUtils::MakeMaker remains at version 6.17, as later
         stable releases currently available on CPAN have some
         issues with core modules on some core platforms.

     o   I18N::LangTags upgraded to version 0.35

     o   Math::BigInt upgraded to version 1.73

     o   Math::BigRat upgraded to version 0.13

     o   MIME::Base64 upgraded to version 3.05

     o   POSIX::sigprocmask function can now retrieve the current
         signal mask without also setting it.

     o   Time::HiRes upgraded to version 1.65

perl v5.12.5         Last change: 2012-09-11                    1

Perl Programmers Reference Guide                  PERL586DELTA(1)

Utility Changes
     Perl has a new -dt command-line flag, which enables threads
     support in the debugger.

Performance Enhancements
     "reverse sort ..." is now optimized to sort in reverse,
     avoiding the generation of a temporary intermediate list.

     "for (reverse @foo)" now iterates in reverse, avoiding the
     generation of a temporary reversed list.

Selected Bug Fixes
     The regexp engine is now more robust when given invalid utf8
     input, as is sometimes generated by buggy XS modules.

     "foreach" on threads::shared array used to be able to crash
     Perl. This bug has now been fixed.

     A regexp in "STDOUT"'s destructor used to coredump, because
     the regexp pad was 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 a shared array reference no longer causes a

     "eval_sv()" failing a taint test could corrupt the stack -
     this has been fixed.

     On platforms with 64 bit pointers numeric comparison
     operators used to erroneously compare the addresses of
     references that are overloaded, rather than using the
     overloaded values. This has been fixed.

     "read" into a UTF8-encoded buffer with an offset off the end
     of the buffer no longer mis-calculates buffer lengths.

     Although Perl has promised since version 5.8 that "sort()"
     would be stable, the two cases "sort {$b cmp $a}" and "sort
     {$b <=> $a}" could produce non-stable sorts.   This is
     corrected in perl5.8.6.

     Localising $^D no longer generates a diagnostic message
     about valid -D flags.

New or Changed Diagnostics
     For -t and -T,
        Too late for "-T" option has been changed to the more
        "-T" is on the #! line, it must also be used on the

perl v5.12.5         Last change: 2012-09-11                    2

Perl Programmers Reference Guide                  PERL586DELTA(1)

     command line

Changed Internals
     From now on all applications embedding perl will behave as
     if perl were compiled with -DPERL_USE_SAFE_PUTENV.  See
     "Environment access" in the 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 Tests
     There are significantly more tests for the "B" suite of

Reporting Bugs
     If you find what you think is a bug, you might check the
     articles recently posted to the comp.lang.perl.misc
     newsgroup and the perl bug database at
     There may also be information at, the
     Perl Home Page.

     If you believe you have an unreported bug, please run the
     perlbug program included with your release.  Be sure to trim
     your bug down to a tiny but sufficient test case.  Your bug
     report, along with the output of "perl -V", will be sent off
     to to be analysed by the Perl porting team.
     You can browse and search the Perl 5 bugs at

     See attributes(5) for descriptions of the following

     |Availability   | runtime/perl-512 |
     |Stability      | Uncommitted      |
     The 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.

perl v5.12.5         Last change: 2012-09-11                    3

Perl Programmers Reference Guide                  PERL586DELTA(1)

     This software was built from source available at  The original
     community source was downloaded from

     Further information about this software can be found on the
     open source community website at

perl v5.12.5         Last change: 2012-09-11                    4