1=encoding utf8 2 3=head1 NAME 4 5perl5141delta - what is new for perl v5.14.1 6 7=head1 DESCRIPTION 8 9This document describes differences between the 5.14.0 release and 10the 5.14.1 release. 11 12If you are upgrading from an earlier release such as 5.12.0, first read 13L<perl5140delta>, which describes differences between 5.12.0 and 145.14.0. 15 16=head1 Core Enhancements 17 18No changes since 5.14.0. 19 20=head1 Security 21 22No changes since 5.14.0. 23 24=head1 Incompatible Changes 25 26There are no changes intentionally incompatible with 5.14.0. If any 27exist, they are bugs and reports are welcome. 28 29=head1 Deprecations 30 31There have been no deprecations since 5.14.0. 32 33=head1 Modules and Pragmata 34 35=head2 New Modules and Pragmata 36 37None 38 39=head2 Updated Modules and Pragmata 40 41=over 4 42 43=item * 44 45L<B::Deparse> has been upgraded from version 1.03 to 1.04, to address two 46regressions in Perl 5.14.0: 47 48Deparsing of the C<glob> operator and its diamond (C<< <> >>) form now 49works again. [perl #90898] 50 51The presence of subroutines named C<::::> or C<::::::> no longer causes 52B::Deparse to hang. 53 54=item * 55 56L<Pod::Perldoc> has been upgraded from version 3.15_03 to 3.15_04. 57 58It corrects the search paths on VMS. [perl #90640] 59 60=back 61 62=head2 Removed Modules and Pragmata 63 64None 65 66=head1 Documentation 67 68=head2 New Documentation 69 70None 71 72=head2 Changes to Existing Documentation 73 74=head3 L<perlfunc> 75 76=over 77 78=item * 79 80C<given>, C<when> and C<default> are now listed in L<perlfunc>. 81 82=item * 83 84Documentation for C<use> now includes a pointer to F<if.pm>. 85 86=back 87 88=head3 L<perllol> 89 90=over 91 92=item * 93 94L<perllol> has been expanded with examples using the new C<push $scalar> 95syntax introduced in Perl 5.14.0. 96 97=back 98 99=head3 L<perlop> 100 101=over 4 102 103=item * 104 105The explanation of bitwise operators has been expanded to explain how they 106work on Unicode strings. 107 108=item * 109 110The section on the triple-dot or yada-yada operator has been moved up, as 111it used to separate two closely related sections about the comma operator. 112 113=item * 114 115More examples for C<m//g> have been added. 116 117=item * 118 119The C<<< <<\FOO >>> here-doc syntax has been documented. 120 121=back 122 123=head3 L<perlrun> 124 125=over 126 127=item * 128 129L<perlrun> has undergone a significant clean-up. Most notably, the 130B<-0x...> form of the B<-0> flag has been clarified, and the final section 131on environment variables has been corrected and expanded. 132 133=back 134 135=head3 L<POSIX> 136 137=over 138 139=item * 140 141The invocation documentation for C<WIFEXITED>, C<WEXITSTATUS>, 142C<WIFSIGNALED>, C<WTERMSIG>, C<WIFSTOPPED>, and C<WSTOPSIG> was corrected. 143 144=back 145 146 147=head1 Diagnostics 148 149The following additions or changes have been made to diagnostic output, 150including warnings and fatal error messages. For the complete list of 151diagnostic messages, see L<perldiag>. 152 153=head2 New Diagnostics 154 155None 156 157=head2 Changes to Existing Diagnostics 158 159None 160 161=head1 Utility Changes 162 163None 164 165=head1 Configuration and Compilation 166 167=over 4 168 169=item * 170 171F<regexp.h> has been modified for compatibility with GCC's C<-Werror> 172option, as used by some projects that include perl's header files. 173 174=back 175 176=head1 Testing 177 178=over 4 179 180=item * 181 182Some test failures in F<dist/Locale-Maketext/t/09_compile.t> that could 183occur depending on the environment have been fixed. [perl #89896] 184 185=item * 186 187A watchdog timer for F<t/re/re.t> was lengthened to accommodate SH-4 systems 188which were unable to complete the tests before the previous timer ran out. 189 190 191=back 192 193=head1 Platform Support 194 195=head2 New Platforms 196 197None 198 199=head2 Discontinued Platforms 200 201None 202 203=head2 Platform-Specific Notes 204 205=head3 Solaris 206 207=over 208 209=item * 210 211Documentation listing the Solaris packages required to build Perl on 212Solaris 9 and Solaris 10 has been corrected. 213 214=back 215 216=head3 Mac OS X 217 218=over 219 220=item * 221 222The F<lib/locale.t> test script has been updated to work on the upcoming 223Lion release. 224 225=item * 226 227Mac OS X specific compilation instructions have been clarified. 228 229=back 230 231=head3 Ubuntu Linux 232 233=over 234 235=item * 236 237The L<ODBM_File> installation process has been updated with the new library 238paths on Ubuntu natty. 239 240=back 241 242=head1 Internal Changes 243 244=over 245 246=item * 247 248The compiled representation of formats is now stored via the mg_ptr of 249their PERL_MAGIC_fm. Previously it was stored in the string buffer, 250beyond SvLEN(), the regular end of the string. SvCOMPILED() and 251SvCOMPILED_{on,off}() now exist solely for compatibility for XS code. 252The first is always 0, the other two now no-ops. 253 254=back 255 256=head1 Bug Fixes 257 258=over 4 259 260=item * 261 262A bug has been fixed that would cause a "Use of freed value in iteration" 263error if the next two hash elements that would be iterated over are 264deleted. [perl #85026] 265 266=item * 267 268Passing the same constant subroutine to both C<index> and C<formline> no 269longer causes one or the other to fail. [perl #89218] 270 271=item * 272 2735.14.0 introduced some memory leaks in regular expression character 274classes such as C<[\w\s]>, which have now been fixed. 275 276=item * 277 278An edge case in regular expression matching could potentially loop. 279This happened only under C</i> in bracketed character classes that have 280characters with multi-character folds, and the target string to match 281against includes the first portion of the fold, followed by another 282character that has a multi-character fold that begins with the remaining 283portion of the fold, plus some more. 284 285 "s\N{U+DF}" =~ /[\x{DF}foo]/i 286 287is one such case. C<\xDF> folds to C<"ss">. 288 289=item * 290 291Several Unicode case-folding bugs have been fixed. 292 293=item * 294 295The new (in 5.14.0) regular expression modifier C</a> when repeated like 296C</aa> forbids the characters outside the ASCII range that match 297characters inside that range from matching under C</i>. This did not 298work under some circumstances, all involving alternation, such as: 299 300 "\N{KELVIN SIGN}" =~ /k|foo/iaa; 301 302succeeded inappropriately. This is now fixed. 303 304=item * 305 306Fixed a case where it was possible that a freed buffer may have been read 307from when parsing a here document. 308 309=back 310 311=head1 Acknowledgements 312 313Perl 5.14.1 represents approximately four weeks of development since 314Perl 5.14.0 and contains approximately 3500 lines of changes 315across 38 files from 17 authors. 316 317Perl continues to flourish into its third decade thanks to a vibrant 318community of users and developers. The following people are known to 319have contributed the improvements that became Perl 5.14.1: 320 321Bo Lindbergh, Claudio Ramirez, Craig A. Berry, David Leadbeater, Father 322Chrysostomos, Jesse Vincent, Jim Cromie, Justin Case, Karl Williamson, 323Leo Lapworth, Nicholas Clark, Nobuhiro Iwamatsu, smash, Tom Christiansen, 324Ton Hospel, Vladimir Timofeev, and Zsbán Ambrus. 325 326 327=head1 Reporting Bugs 328 329If you find what you think is a bug, you might check the articles 330recently posted to the comp.lang.perl.misc newsgroup and the perl 331bug database at http://rt.perl.org/perlbug/ . There may also be 332information at http://www.perl.org/ , the Perl Home Page. 333 334If you believe you have an unreported bug, please run the L<perlbug> 335program included with your release. Be sure to trim your bug down 336to a tiny but sufficient test case. Your bug report, along with the 337output of C<perl -V>, will be sent off to perlbug@perl.org to be 338analysed by the Perl porting team. 339 340If the bug you are reporting has security implications, which make it 341inappropriate to send to a publicly archived mailing list, then please send 342it to perl5-security-report@perl.org. This points to a closed subscription 343unarchived mailing list, which includes all the core committers, who be able 344to help assess the impact of issues, figure out a resolution, and help 345co-ordinate the release of patches to mitigate or fix the problem across all 346platforms on which Perl is supported. Please only use this address for 347security issues in the Perl core, not for modules independently 348distributed on CPAN. 349 350=head1 SEE ALSO 351 352The F<Changes> file for an explanation of how to view exhaustive details 353on what changed. 354 355The F<INSTALL> file for how to build Perl. 356 357The F<README> file for general stuff. 358 359The F<Artistic> and F<Copying> files for copyright information. 360 361=cut 362