Perl 5.8.0 includes many new features and bug fixes. This update is installed with a Mac OS X Package Installer, and does not interfere with the Perl installed with the operating system.
What's new in Perl
Changes to Existing Documentation:
perlrepository has been restored with a pointer to more useful pages.
perlhack has been updated with the latest changes from blead.
Selected Bug Fixes:
Perl 5.18.1 introduced a regression along with a bugfix for lexical subs. Some B::SPECIAL results from B::CV::GV became undefs instead. This broke Devel::Cover among other libraries. This has been fixed. [perl #119351]
Perl 5.18.0 introduced a regression whereby [:^ascii:], if used in the same character class as other qualifiers, would fail to match characters in the Latin-1 block. This has been fixed. [perl #120799]
Perl 5.18.0 introduced a regression when using ->SUPER::method with AUTOLOAD by looking up AUTOLOAD from the current package, rather than the current package’s superclass. This has been fixed. [perl #120694]
Perl 5.18.0 introduced a regression whereby -bareword was no longer permitted under the strict and integer pragmata when used together. This has been fixed. [perl #120288]
Previously PerlIOBase_dup didn't check if pushing the new layer succeeded before (optionally) setting the utf8 flag. This could cause segfaults-by-nullpointer. This has been fixed.
A buffer overflow with very long identifiers has been fixed.
A regression from 5.16 in the handling of padranges led to assertion failures if a keyword plugin declined to handle the second ‘my’, but only after creating a padop. This affected, at least, Devel::CallParser under threaded builds. This has been fixed.
The construct $r=qr/.../; /$r/p is now handled properly, an issue which had been worsened by changes 5.18.0. [perl #118213]