View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Abigail > perl-5.15.9 > perl5151delta


Annotate this POD




perl5151delta - what is new for perl v5.15.1


This document describes differences between the 5.15.0 release and the 5.15.1 release.

If you are upgrading from an earlier release such as 5.14.0, first read perl5150delta, which describes differences between 5.14.0 and 5.15.0.

Core Enhancements ^

splice() doesn't warn when truncating

You can now limit the size of an array using splice(@a,MAX_LEN) without worrying about warnings.

The \$ prototype accepts any scalar lvalue

The \$ and \[$] subroutine prototypes now accept any scalar lvalue argument. Previously they only accepted scalars beginning with $ and hash and array elements. This change makes them consistent with the way the built-in read and recv functions (among others) parse their arguments. This means that one can override the built-in functions with custom subroutines that parse their arguments the same way.

You can now study more than one string

The restriction that you can only have one study active at a time has been removed. You can now usefully study as many strings as you want (until you exhaust memory).

The Unicode Script_Extensions property is now supported.

New in Unicode 6.0, this is an improved Script property. Details are in "Scripts" in perlunicode.

DTrace probes for interpreter phase change

The phase-change probes will fire when the interpreter's phase changes, which tracks the ${^GLOBAL_PHASE} variable. arg0 is the new phase name; arg1 is the old one. This is useful mostly for limiting your instrumentation to one or more of: compile time, run time, destruct time.

New Pad API

Many new functions have been added to the API for manipulating lexical pads. See "Pad Data Structures" in perlapi for more information.

Performance Enhancements ^

Modules and Pragmata ^

New Modules and Pragmata

Updated Modules and Pragmata

Removed Modules and Pragmata

Documentation ^

New Documentation


perldtrace describes Perl's DTrace support, listing the provided probes and gives examples of their use.


The delta file for Perl 5.14.1 has been copied to blead.

Changes to Existing Documentation

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.

Changes to Existing Diagnostics

Testing ^

Platform Support ^

Platform-Specific Notes


Internal Changes ^

Selected Bug Fixes ^

Acknowledgements ^

Perl 5.15.1 represents approximately 5 weeks of development since Perl 5.15.0 and contains approximately 220,000 lines of changes across 650 files from 37 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.1:

Abhijit Menon-Sen, Alan Haggai Alavi, Brian Fraser, Brian Greenfield, Chris 'BinGOs' Williams, Claes Jacobsson, Craig A. Berry, Dave Rolsky, David Golden, David Mitchell, Dee Newcum, Eric Brine, Father Chrysostomos, Florian Ragwitz, Gerard Goossen, H.Merijn Brand, Hojung Yoon, James E Keenan, Jesse Luehrs, Jesse Vincent, John Peacock, Karl Williamson, Keith Thompson, Leon Brocard, Matthew Horsfall, Nicholas Clark, Niko Tyni, Phil Monsen, Reini Urban, Ricardo Signes, Robin Barker, Sam Kimbrel, Shawn M Moore, Shlomi Fish, Steffen Müller, Vincent Pit, Zefram.

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 . There may also be information at , 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 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 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: