199 lines
6.0 KiB
Plaintext
199 lines
6.0 KiB
Plaintext
=encoding utf8
|
|
|
|
=head1 NAME
|
|
|
|
perl5161delta - what is new for perl v5.16.1
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This document describes differences between the 5.16.0 release and
|
|
the 5.16.1 release.
|
|
|
|
If you are upgrading from an earlier release such as 5.14.0, first read
|
|
L<perl5160delta>, which describes differences between 5.14.0 and
|
|
5.16.0.
|
|
|
|
=head1 Security
|
|
|
|
=head2 an off-by-two error in Scalar-List-Util has been fixed
|
|
|
|
The bugfix was in Scalar-List-Util 1.23_04, and perl 5.16.1 includes
|
|
Scalar-List-Util 1.25.
|
|
|
|
=head1 Incompatible Changes
|
|
|
|
There are no changes intentionally incompatible with 5.16.0 If any
|
|
exist, they are bugs, and we request that you submit a report. See
|
|
L</Reporting Bugs> below.
|
|
|
|
=head1 Modules and Pragmata
|
|
|
|
=head2 Updated Modules and Pragmata
|
|
|
|
=over 4
|
|
|
|
=item *
|
|
|
|
L<Scalar::Util> and L<List::Util> have been upgraded from version 1.23 to
|
|
version 1.25.
|
|
|
|
=item *
|
|
|
|
L<B::Deparse> has been updated from version 1.14 to 1.14_01. An
|
|
"uninitialized" warning emitted by B::Deparse has been squashed
|
|
[perl #113464].
|
|
|
|
=back
|
|
|
|
=head1 Configuration and Compilation
|
|
|
|
=over
|
|
|
|
=item *
|
|
|
|
Building perl with some Windows compilers used to fail due to a problem
|
|
with miniperl's C<glob> operator (which uses the C<perlglob> program)
|
|
deleting the PATH environment variable [perl #113798].
|
|
|
|
=back
|
|
|
|
=head1 Platform Support
|
|
|
|
=head2 Platform-Specific Notes
|
|
|
|
=over 4
|
|
|
|
=item VMS
|
|
|
|
All C header files from the top-level directory of the distribution are now
|
|
installed on VMS, providing consistency with a long-standing practice on other
|
|
platforms. Previously only a subset were installed, which broke non-core extension
|
|
builds for extensions that depended on the missing include files.
|
|
|
|
=back
|
|
|
|
=head1 Selected Bug Fixes
|
|
|
|
=over 4
|
|
|
|
=item *
|
|
|
|
A regression introduced in Perl v5.16.0 involving
|
|
C<tr/I<SEARCHLIST>/I<REPLACEMENTLIST>/> has been fixed. Only the first
|
|
instance is supposed to be meaningful if a character appears more than
|
|
once in C<I<SEARCHLIST>>. Under some circumstances, the final instance
|
|
was overriding all earlier ones. [perl #113584]
|
|
|
|
=item *
|
|
|
|
C<B::COP::stashlen> has been added. This provides access to an internal
|
|
field added in perl 5.16 under threaded builds. It was broken at the last
|
|
minute before 5.16 was released [perl #113034].
|
|
|
|
=item *
|
|
|
|
The L<re> pragma will no longer clobber C<$_>. [perl #113750]
|
|
|
|
=item *
|
|
|
|
Unicode 6.1 published an incorrect alias for one of the
|
|
Canonical_Combining_Class property's values (which range between 0 and
|
|
254). The alias C<CCC133> should have been C<CCC132>. Perl now
|
|
overrides the data file furnished by Unicode to give the correct value.
|
|
|
|
=item *
|
|
|
|
Duplicating scalar filehandles works again. [perl #113764]
|
|
|
|
=item *
|
|
|
|
Under threaded perls, a runtime code block in a regular expression could
|
|
corrupt the package name stored in the op tree, resulting in bad reads
|
|
in C<caller>, and possibly crashes [perl #113060].
|
|
|
|
=item *
|
|
|
|
For efficiency's sake, many operators and built-in functions return the
|
|
same scalar each time. Lvalue subroutines and subroutines in the CORE::
|
|
namespace were allowing this implementation detail to leak through.
|
|
C<print &CORE::uc("a"), &CORE::uc("b")> used to print "BB". The same thing
|
|
would happen with an lvalue subroutine returning the return value of C<uc>.
|
|
Now the value is copied in such cases [perl #113044].
|
|
|
|
=item *
|
|
|
|
C<__SUB__> now works in special blocks (C<BEGIN>, C<END>, etc.).
|
|
|
|
=item *
|
|
|
|
Formats that reference lexical variables from outside no longer result
|
|
in crashes.
|
|
|
|
=back
|
|
|
|
=head1 Known Problems
|
|
|
|
There are no new known problems, but consult L<perl5160delta/Known
|
|
Problems> to see those identified in the 5.16.0 release.
|
|
|
|
=head1 Acknowledgements
|
|
|
|
Perl 5.16.1 represents approximately 2 months of development since Perl
|
|
5.16.0 and contains approximately 14,000 lines of changes across 96
|
|
files from 8 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.16.1:
|
|
|
|
Chris 'BinGOs' Williams, Craig A. Berry, Father Chrysostomos, Karl
|
|
Williamson, Paul Johnson, Reini Urban, Ricardo Signes, Tony Cook.
|
|
|
|
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 F<AUTHORS> file in the Perl source distribution.
|
|
|
|
=head1 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 L<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 C<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.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
The F<Changes> file for an explanation of how to view exhaustive details
|
|
on what changed.
|
|
|
|
The F<INSTALL> file for how to build Perl.
|
|
|
|
The F<README> file for general stuff.
|
|
|
|
The F<Artistic> and F<Copying> files for copyright information.
|
|
|
|
=cut
|