=head1 NAME perldelta - what is new for perl v5.10.1 =head1 DESCRIPTION This document describes differences between the 5.10.0 release and the 5.10.1 release. If you are upgrading from an earlier release such as 5.8.8, first read the L, which describes differences between 5.8.8 and 5.10.0 =head1 Incompatible Changes =over =item * The semantics of C have changed slightly. See L<"Modules and Pragmata"> for more information. =item * It is now a run-time error to use the smart match operator C<~~> with an object that has no overload defined for it. (This way C<~~> will not break encapsulation by matching against the object's internal representation as a reference.) =item * The version control system used for the development of the perl interpreter has been switched from Perforce to git. This is mainly an internal issue that only affects people actively working on the perl core; but it may have minor external visibility, for example in some of details of the output of C. See L for more information. =back =head1 Core Enhancements =head1 Modules and Pragmata =head2 New Modules =over =item * C is a lexically-scoped replacement for the C module. The bundled version is 1.998. =back =head2 Updated Modules =over =item C The meaning of the C<:5.10> and C<:5.10.X> feature bundles has changed slightly. The last component, if any (ie C) is simply ignored. This is predicated on the assumption that new features will not, in general, be added to maintenance releases. So C<:5.10> and C<:5.10.X> have identical effect. This is a change to the behaviour documented for 5.10.0. =item * C upgraded from version 0.79 to 0.81 =item * C upgraded from version 0.24 to 0.30 =item * C upgraded from version 1.38 to 1.42 =item * C upgraded from version 1.17 to 1.22 =item * C upgraded from version 2.36_01 to 2.38 =item * C upgraded from version 1.44 to 1.52 =item * C upgraded from version 1.05 to 1.998. See also the new pragma C. =item * C upgraded from version 0.01 to 0.02 =item * C upgraded from version 2.13 to 2.17 =item * C upgraded from version 0.01 to 0.02 =item * C upgraded from version 0.22 to 0.30 =item * C upgraded from version 0.01 to 0.02 =item * C upgraded from version 3.08 to 3.13 =item * C upgraded from version 1.06 to 1.07 =item * C upgraded from version 0.80 to 0.86_01 XXX not a CPAN release =item * C upgraded from version 0.25 to 0.27 =item * C upgraded from version 0.1001_01 to 0.1101 =back =head1 Utility Changes =head1 New Documentation L by Richard Foley, provides an introduction to the use of performance and optimization techniques which can be used with particular reference to perl programs. L describes how to access the perl source using git. =head1 Performance Enhancements =head1 Installation and Configuration Improvements =head2 Configuration improvements if C and C are the same, then they are only added to C<@INC> once. C<$Config{usedevel}> and the C-level C are now defined if perl is built with C<-Dusedevel>. =head2 Compilation improvements =head2 Installation improvements. =head2 Platform Specific Changes =head3 NetBSD hints now supports versions 5.*. =head1 Selected Bug Fixes =head2 Other fixes =over =item * Fixed memory leak on C [RT # 53038]. =item * Some potential coredumps in PerlIO fixed [RT # 57322,54828]. =item * The debugger now works with lvalue subroutines =item * The debugger's C command was broken on modules that defined constants [RT #61222]. =item * C and string complement could return tainted values for untainted arguments [RT # 59998]. =item * The C<-i.sufffix> command-line switch now recreates the file using restricted permissions, before changing its mode to match the original file. This eliminates a potential race condition. =item * On some UNIX systems, the value in C<$?> would not have the top bit set (C<$? & 128>) even if the child core dumped. =item * Under some circumstances, $^R could incorrectly become undefined [RT # 57042]. =back =head1 New or Changed Diagnostics =head1 Changed Internals C now accepts a null first argument. New macros C, C, C, C have been added to formalise the temporary saving of the C variable. =head1 Known Problems =head2 Platform Specific Problems =head1 Acknowledgements Some of the work in this release was funded by a TPF grant. XXX more to come =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://bugs.perl.org/ . 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 B 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, will be sent off to perlbug@perl.org to be analysed by the Perl porting team. =head1 SEE ALSO The F file for exhaustive details on what changed. The F file for how to build Perl. The F file for general stuff. The F and F files for copyright information. =cut