# perl586delta - what is new for perl v5.8.6 - man(1) - [phpMan]

[_PERL586DELTA_(1)](https://www.chedong.com/phpMan.php/man/PERL586DELTA/1/markdown)                   Perl Programmers Reference Guide                   [_PERL586DELTA_(1)](https://www.chedong.com/phpMan.php/man/PERL586DELTA/1/markdown)

## NAME
       perl586delta - what is new for perl v5.8.6

## DESCRIPTION
       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 scripts.

       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
       •   With  the  "base"  pragma, an intermediate class with no fields used to messes up 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](https://www.chedong.com/phpMan.php/perldoc/Devel%3A%3APPPort/markdown) upgraded to version 3.03

       •   [File::Spec](https://www.chedong.com/phpMan.php/perldoc/File%3A%3ASpec/markdown) upgraded to version 3.01 (as part of the new PathTools distribution)

       •   Encode upgraded to version 2.08

       •   [ExtUtils::MakeMaker](https://www.chedong.com/phpMan.php/perldoc/ExtUtils%3A%3AMakeMaker/markdown) remains at version 6.17, as later stable releases currently available
           on CPAN have some issues with core modules on some core platforms.

       •   [I18N::LangTags](https://www.chedong.com/phpMan.php/perldoc/I18N%3A%3ALangTags/markdown) upgraded to version 0.35

       •   [Math::BigInt](https://www.chedong.com/phpMan.php/perldoc/Math%3A%3ABigInt/markdown) upgraded to version 1.73

       •   [Math::BigRat](https://www.chedong.com/phpMan.php/perldoc/Math%3A%3ABigRat/markdown) upgraded to version 0.13

       •   [MIME::Base64](https://www.chedong.com/phpMan.php/perldoc/MIME%3A%3ABase64/markdown) upgraded to version 3.05

       •   [POSIX::sigprocmask](https://www.chedong.com/phpMan.php/perldoc/POSIX%3A%3Asigprocmask/markdown) function can now retrieve the current signal mask without also setting
           it.

       •   [Time::HiRes](https://www.chedong.com/phpMan.php/perldoc/Time%3A%3AHiRes/markdown) upgraded to version 1.65

## 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](https://www.chedong.com/phpMan.php/perldoc/threads%3A%3Ashared/markdown)  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 leak.

       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 informative
          "-T" is on the #! line, it must also be used on the 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 modules.

## 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 <http://bugs.perl.org>.   There  may
       also be information at <http://www.perl.org>, 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 <perlbug@perl.org> to  be  analysed  by
       the Perl porting team.  You can browse and search the Perl 5 bugs at <http://bugs.perl.org/>

## SEE ALSO
       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.38.2                                 2026-08-18                              [_PERL586DELTA_(1)](https://www.chedong.com/phpMan.php/man/PERL586DELTA/1/markdown)
