perl561delta (1) Linux Manual Page
NAME
perl561delta – what’s new for perl v5.6.1
DESCRIPTION
This document describes differences between the 5.005 release and the 5.6.1 release.
Summary of changes between 5.6.0 and 5.6.1
This section contains a summary of the changes between the 5.6.0 release and the 5.6.1 release. More details about the changes mentioned here may be found in the Changes files that accompany the Perl source distribution. See perlhack for pointers to online resources where you can inspect the individual patches described by these changes.
Security Issues
suidperl will not run /bin/mail anymore, because some platforms have a /bin/mail that is vulnerable to buffer overflow attacks.
Note that suidperl is neither built nor installed by default in any recent version of perl. Use of suidperl is highly discouraged. If you think you need it, try alternatives such as sudo first. See http://www.courtesan.com/sudo/ .
Core bug fixes
This is not an exhaustive list. It is intended to cover only the significant user-visible changes.
- "UNIVERSAL::isa()"
- A bug in the caching mechanism used by "UNIVERSAL::isa()" that affected base.pm has been fixed. The bug has existed since the 5.005 releases, but wasn’t tickled by base.pm in those releases.
- Memory leaks
- Various cases of memory leaks and attempts to access uninitialized memory have been cured. See “Known Problems” below for further issues.
- Numeric conversions
- Numeric conversions did not recognize changes in the string value properly in certain circumstances.
In other situations, large unsigned numbers (those above 2**31) could sometimes lose their unsignedness, causing bogus results in arithmetic operations.
Integer modulus on large unsigned integers sometimes returned incorrect values.
Perl 5.6.0 generated “not a number” warnings on certain conversions where previous versions didn’t.
These problems have all been rectified.
Infinity is now recognized as a number.
- qw(a\b)
- In Perl 5.6.0, qw(a\b) produced a string with two backslashes instead of one, in a departure from the behavior in previous versions. The older behavior has been reinstated.
caller()-
caller()could cause core dumps in certain situations. Carp was sometimes affected by this problem. - Bugs in regular expressions
- Pattern matches on overloaded values are now handled correctly.
Perl 5.6.0 parsed m/
