1=encoding utf8 2 3=head1 NAME 4 5perl5161delta - what is new for perl v5.16.1 6 7=head1 DESCRIPTION 8 9This document describes differences between the 5.16.0 release and 10the 5.16.1 release. 11 12If you are upgrading from an earlier release such as 5.14.0, first read 13L<perl5160delta>, which describes differences between 5.14.0 and 145.16.0. 15 16=head1 Security 17 18=head2 an off-by-two error in Scalar-List-Util has been fixed 19 20The bugfix was in Scalar-List-Util 1.23_04, and perl 5.16.1 includes 21Scalar-List-Util 1.25. 22 23=head1 Incompatible Changes 24 25There are no changes intentionally incompatible with 5.16.0 If any 26exist, they are bugs, and we request that you submit a report. See 27L</Reporting Bugs> below. 28 29=head1 Modules and Pragmata 30 31=head2 Updated Modules and Pragmata 32 33=over 4 34 35=item * 36 37L<Scalar::Util> and L<List::Util> have been upgraded from version 1.23 to 38version 1.25. 39 40=item * 41 42L<B::Deparse> has been updated from version 1.14 to 1.14_01. An 43"uninitialized" warning emitted by B::Deparse has been squashed 44[perl #113464]. 45 46=back 47 48=head1 Configuration and Compilation 49 50=over 51 52=item * 53 54Building perl with some Windows compilers used to fail due to a problem 55with miniperl's C<glob> operator (which uses the C<perlglob> program) 56deleting the PATH environment variable [perl #113798]. 57 58=back 59 60=head1 Platform Support 61 62=head2 Platform-Specific Notes 63 64=over 4 65 66=item VMS 67 68All C header files from the top-level directory of the distribution are now 69installed on VMS, providing consistency with a long-standing practice on other 70platforms. Previously only a subset were installed, which broke non-core extension 71builds for extensions that depended on the missing include files. 72 73=back 74 75=head1 Selected Bug Fixes 76 77=over 4 78 79=item * 80 81A regression introduced in Perl v5.16.0 involving 82C<tr/I<SEARCHLIST>/I<REPLACEMENTLIST>/> has been fixed. Only the first 83instance is supposed to be meaningful if a character appears more than 84once in C<I<SEARCHLIST>>. Under some circumstances, the final instance 85was overriding all earlier ones. [perl #113584] 86 87=item * 88 89C<B::COP::stashlen> has been added. This provides access to an internal 90field added in perl 5.16 under threaded builds. It was broken at the last 91minute before 5.16 was released [perl #113034]. 92 93=item * 94 95The L<re> pragma will no longer clobber C<$_>. [perl #113750] 96 97=item * 98 99Unicode 6.1 published an incorrect alias for one of the 100Canonical_Combining_Class property's values (which range between 0 and 101254). The alias C<CCC133> should have been C<CCC132>. Perl now 102overrides the data file furnished by Unicode to give the correct value. 103 104=item * 105 106Duplicating scalar filehandles works again. [perl #113764] 107 108=item * 109 110Under threaded perls, a runtime code block in a regular expression could 111corrupt the package name stored in the op tree, resulting in bad reads 112in C<caller>, and possibly crashes [perl #113060]. 113 114=item * 115 116For efficiency's sake, many operators and built-in functions return the 117same scalar each time. Lvalue subroutines and subroutines in the CORE:: 118namespace were allowing this implementation detail to leak through. 119C<print &CORE::uc("a"), &CORE::uc("b")> used to print "BB". The same thing 120would happen with an lvalue subroutine returning the return value of C<uc>. 121Now the value is copied in such cases [perl #113044]. 122 123=item * 124 125C<__SUB__> now works in special blocks (C<BEGIN>, C<END>, etc.). 126 127=item * 128 129Formats that reference lexical variables from outside no longer result 130in crashes. 131 132=back 133 134=head1 Known Problems 135 136There are no new known problems, but consult L<perl5160delta/Known 137Problems> to see those identified in the 5.16.0 release. 138 139=head1 Acknowledgements 140 141Perl 5.16.1 represents approximately 2 months of development since Perl 1425.16.0 and contains approximately 14,000 lines of changes across 96 143files from 8 authors. 144 145Perl continues to flourish into its third decade thanks to a vibrant 146community of users and developers. The following people are known to 147have contributed the improvements that became Perl 5.16.1: 148 149Chris 'BinGOs' Williams, Craig A. Berry, Father Chrysostomos, Karl 150Williamson, Paul Johnson, Reini Urban, Ricardo Signes, Tony Cook. 151 152The list above is almost certainly incomplete as it is automatically 153generated from version control history. In particular, it does not 154include the names of the (very much appreciated) contributors who 155reported issues to the Perl bug tracker. 156 157Many of the changes included in this version originated in the CPAN 158modules included in Perl's core. We're grateful to the entire CPAN 159community for helping Perl to flourish. 160 161For a more complete list of all of Perl's historical contributors, 162please see the F<AUTHORS> file in the Perl source distribution. 163 164=head1 Reporting Bugs 165 166If you find what you think is a bug, you might check the articles 167recently posted to the comp.lang.perl.misc newsgroup and the perl 168bug database at http://rt.perl.org/perlbug/ . There may also be 169information at http://www.perl.org/ , the Perl Home Page. 170 171If you believe you have an unreported bug, please run the L<perlbug> 172program included with your release. Be sure to trim your bug down 173to a tiny but sufficient test case. Your bug report, along with the 174output of C<perl -V>, will be sent off to perlbug@perl.org to be 175analysed by the Perl porting team. 176 177If the bug you are reporting has security implications, which make it 178inappropriate to send to a publicly archived mailing list, then please 179send it to perl5-security-report@perl.org. This points to a closed 180subscription unarchived mailing list, which includes all the core 181committers, who will be able to help assess the impact of issues, figure 182out a resolution, and help co-ordinate the release of patches to 183mitigate or fix the problem across all platforms on which Perl is 184supported. Please only use this address for security issues in the Perl 185core, not for modules independently distributed on CPAN. 186 187=head1 SEE ALSO 188 189The F<Changes> file for an explanation of how to view exhaustive details 190on what changed. 191 192The F<INSTALL> file for how to build Perl. 193 194The F<README> file for general stuff. 195 196The F<Artistic> and F<Copying> files for copyright information. 197 198=cut 199