1=head1 NAME 2 3perl586delta - what is new for perl v5.8.6 4 5=head1 DESCRIPTION 6 7This document describes differences between the 5.8.5 release and 8the 5.8.6 release. 9 10=head1 Incompatible Changes 11 12There are no changes incompatible with 5.8.5. 13 14=head1 Core Enhancements 15 16The perl interpreter is now more tolerant of UTF-16-encoded scripts. 17 18On Win32, Perl can now use non-IFS compatible LSPs, which allows Perl to 19work in conjunction with firewalls such as McAfee Guardian. For full details 20see the file F<README.win32>, particularly if you're running Win95. 21 22=head1 Modules and Pragmata 23 24=over 4 25 26=item * 27 28With the C<base> pragma, an intermediate class with no fields used to messes 29up private fields in the base class. This has been fixed. 30 31=item * 32 33Cwd upgraded to version 3.01 (as part of the new PathTools distribution) 34 35=item * 36 37Devel::PPPort upgraded to version 3.03 38 39=item * 40 41File::Spec upgraded to version 3.01 (as part of the new PathTools distribution) 42 43=item * 44 45Encode upgraded to version 2.08 46 47=item * 48 49ExtUtils::MakeMaker remains at version 6.17, as later stable releases currently 50available on CPAN have some issues with core modules on some core platforms. 51 52=item * 53 54I18N::LangTags upgraded to version 0.35 55 56=item * 57 58Math::BigInt upgraded to version 1.73 59 60=item * 61 62Math::BigRat upgraded to version 0.13 63 64=item * 65 66MIME::Base64 upgraded to version 3.05 67 68=item * 69 70POSIX::sigprocmask function can now retrieve the current signal mask without 71also setting it. 72 73=item * 74 75Time::HiRes upgraded to version 1.65 76 77=back 78 79=head1 Utility Changes 80 81Perl has a new -dt command-line flag, which enables threads support in the 82debugger. 83 84=head1 Performance Enhancements 85 86C<reverse sort ...> is now optimized to sort in reverse, avoiding the 87generation of a temporary intermediate list. 88 89C<for (reverse @foo)> now iterates in reverse, avoiding the generation of a 90temporary reversed list. 91 92=head1 Selected Bug Fixes 93 94The regexp engine is now more robust when given invalid utf8 input, as is 95sometimes generated by buggy XS modules. 96 97C<foreach> on threads::shared array used to be able to crash Perl. This bug 98has now been fixed. 99 100A regexp in C<STDOUT>'s destructor used to coredump, because the regexp pad 101was already freed. This has been fixed. 102 103C<goto &> is now more robust - bugs in deep recursion and chained C<goto &> 104have been fixed. 105 106Using C<delete> on an array no longer leaks memory. A C<pop> of an item from a 107shared array reference no longer causes a leak. 108 109C<eval_sv()> failing a taint test could corrupt the stack - this has been 110fixed. 111 112On platforms with 64 bit pointers numeric comparison operators used to 113erroneously compare the addresses of references that are overloaded, rather 114than using the overloaded values. This has been fixed. 115 116C<read> into a UTF8-encoded buffer with an offset off the end of the buffer 117no longer mis-calculates buffer lengths. 118 119Although Perl has promised since version 5.8 that C<sort()> would be 120stable, the two cases C<sort {$b cmp $a}> and C<< sort {$b <=> $a} >> could 121produce non-stable sorts. This is corrected in perl5.8.6. 122 123Localising C<$^D> no longer generates a diagnostic message about valid -D 124flags. 125 126=head1 New or Changed Diagnostics 127 128For -t and -T, 129 Too late for "-T" option 130has been changed to the more informative 131 "-T" is on the #! line, it must also be used on the command line 132 133=head1 Changed Internals 134 135From now on all applications embedding perl will behave as if perl 136were compiled with -DPERL_USE_SAFE_PUTENV. See "Environment access" in 137the F<INSTALL> file for details. 138 139Most C<C> source files now have comments at the top explaining their purpose, 140which should help anyone wishing to get an overview of the implementation. 141 142=head1 New Tests 143 144There are significantly more tests for the C<B> suite of modules. 145 146=head1 Reporting Bugs 147 148If you find what you think is a bug, you might check the articles 149recently posted to the comp.lang.perl.misc newsgroup and the perl 150bug database at http://bugs.perl.org. There may also be 151information at http://www.perl.org, the Perl Home Page. 152 153If you believe you have an unreported bug, please run the B<perlbug> 154program included with your release. Be sure to trim your bug down 155to a tiny but sufficient test case. Your bug report, along with the 156output of C<perl -V>, will be sent off to perlbug@perl.org to be 157analysed by the Perl porting team. You can browse and search 158the Perl 5 bugs at http://bugs.perl.org/ 159 160=head1 SEE ALSO 161 162The F<Changes> file for exhaustive details on what changed. 163 164The F<INSTALL> file for how to build Perl. 165 166The F<README> file for general stuff. 167 168The F<Artistic> and F<Copying> files for copyright information. 169 170=cut 171