Abigail > perl-5.15.9 > perl5157delta


Annotate this POD




perl5157delta - what is new for perl v5.15.7


This document describes differences between the 5.15.6 release and the 5.15.7 release.

If you are upgrading from an earlier release such as 5.15.5, first read perl5156delta, which describes differences between 5.15.5 and 5.15.6.

Core Enhancements ^

use charnames no longer needed for \N{name}

The charnames module is now automatically loaded when needed as if the :full and :short options had been specified. See charnames.

Improved performance for Unicode properties in regular expressions

Matching a code point against a Unicode property is now done via a binary search instead of linear. This means for example that the worst case for a 1000 item property is 10 probes instead of 1000. This inefficiency has been compensated for in the past by permanently storing in a hash the results of a given probe plus the results for the adjacent 64 code points, under the theory that near-by code points are likely to be searched for. A separate hash was used for each mention of a Unicode property in each regular expression. Thus, qr/\p{foo}abc\p{foo}/ would generate two hashes. Any probes in one instance would be unknown to the other, and the hashes could expand separately to be quite large if the regular expression were used on many different widely-separated code points. This can lead to running out of memory in extreme cases. Now, however, there is just one hash shared by all instances of a given property. This means that if \p{foo} is matched against "A" in one regular expression in a thread, the result will be known immediately to all regular expressions, and the relentless march of using up memory is slowed considerably.

Deprecations ^

Deprecated Modules


Version::Requirements is now DEPRECATED, use CPAN::Meta::Requirements, which is a drop-in replacement. It will be deleted from perl.git blead in v5.17.0.

Performance Enhancements ^

Modules and Pragmata ^

Updated Modules and Pragmata

Documentation ^

Changes to Existing Documentation


perlop and perlsyn

Diagnostics ^

The following additions or changes have been made to diagnostic output, including warnings and fatal error messages. For the complete list of diagnostic messages, see perldiag.

New Diagnostics

New Errors

New Warnings


Utility Changes ^


Configuration and Compilation ^

Testing ^

Internal Changes ^

Selected Bug Fixes ^

Acknowledgements ^

Perl 5.15.7 represents approximately 4 weeks of development since Perl 5.15.6 and contains approximately 51,000 lines of changes across 480 files from 30 authors.

Perl continues to flourish into its third decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl 5.15.7:

Alberto Simões, Bo Lindbergh, Brian Fraser, Chris 'BinGOs' Williams, Craig A. Berry, Dave Rolsky, David Mitchell, Eric Brine, Father Chrysostomos, Florian Ragwitz, H.Merijn Brand, Hojung Youn, James E Keenan, Joel Berger, Joshua ben Jore, Karl Williamson, Leon Timmermans, Matthew Horsfall, Michael Witten, Nicholas Clark, Reini Urban, Ricardo Signes, Shlomi Fish, Steffen Müller, Steffen Schwigon, Todd Rinaldo, Tom Christiansen, Tom Hukins, Tony Cook, Ævar Arnfjörð Bjarmason.

The list above is almost certainly incomplete as it is automatically generated from version control history. In particular, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker.

Many of the changes included in this version originated in the CPAN modules included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish.

For a more complete list of all of Perl's historical contributors, please see the AUTHORS file in the Perl source distribution.

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://rt.perl.org/perlbug/ . 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.

If the bug you are reporting has security implications, which make it inappropriate to send to a publicly archived mailing list, then please send it to perl5-security-report@perl.org. This points to a closed subscription unarchived mailing list, which includes all the core committers, who will be able to help assess the impact of issues, figure out a resolution, and help co-ordinate the release of patches to mitigate or fix the problem across all platforms on which Perl is supported. Please only use this address for security issues in the Perl core, not for modules independently distributed on CPAN.


The Changes file for an explanation of how to view 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.

syntax highlighting: