5 perl5141delta - what is new for perl v5.14.1
9 This document describes differences between the 5.14.0 release and
12 If you are upgrading from an earlier release such as 5.12.0, first read
13 L<perl5140delta>, which describes differences between 5.12.0 and
16 =head1 Core Enhancements
18 No changes since 5.14.0.
22 No changes since 5.14.0.
24 =head1 Incompatible Changes
26 There are no changes intentionally incompatible with 5.14.0. If any
27 exist, they are bugs and reports are welcome.
31 There have been no deprecations since 5.14.0.
33 =head1 Modules and Pragmata
35 =head2 New Modules and Pragmata
39 =head2 Updated Modules and Pragmata
45 L<B::Deparse> has been upgraded from version 1.03 to 1.04, to address two
46 regressions in Perl 5.14.0:
48 Deparsing of the C<glob> operator and its diamond (C<< <> >>) form now
49 works again. [perl #90898]
51 The presence of subroutines named C<::::> or C<::::::> no longer causes
56 L<Pod::Perldoc> has been upgraded from version 3.15_03 to 3.15_04.
58 It corrects the search paths on VMS. [perl #90640]
62 =head2 Removed Modules and Pragmata
68 =head2 New Documentation
72 =head2 Changes to Existing Documentation
80 C<given>, C<when> and C<default> are now listed in L<perlfunc>.
84 Documentation for C<use> now includes a pointer to F<if.pm>.
94 L<perllol> has been expanded with examples using the new C<push $scalar>
95 syntax introduced in Perl 5.14.0.
105 The explanation of bitwise operators has been expanded to explain how they
106 work on Unicode strings.
110 The section on the triple-dot or yada-yada operator has been moved up, as
111 it used to separate two closely related sections about the comma operator.
115 More examples for C<m//g> have been added.
119 The C<<< <<\FOO >>> here-doc syntax has been documented.
129 L<perlrun> has undergone a significant clean-up. Most notably, the
130 B<-0x...> form of the B<-0> flag has been clarified, and the final section
131 on environment variables has been corrected and expanded.
141 The invocation documentation for C<WIFEXITED>, C<WEXITSTATUS>,
142 C<WIFSIGNALED>, C<WTERMSIG>, C<WIFSTOPPED>, and C<WSTOPSIG> was corrected.
149 The following additions or changes have been made to diagnostic output,
150 including warnings and fatal error messages. For the complete list of
151 diagnostic messages, see L<perldiag>.
153 =head2 New Diagnostics
157 =head2 Changes to Existing Diagnostics
161 =head1 Utility Changes
165 =head1 Configuration and Compilation
171 F<regexp.h> has been modified for compatibility with GCC's C<-Werror>
172 option, as used by some projects that include perl's header files.
182 Some test failures in F<dist/Locale-Maketext/t/09_compile.t> that could
183 occur depending on the environment have been fixed. [perl #89896]
187 A watchdog timer for F<t/re/re.t> was lengthened to accommodate SH-4 systems
188 which were unable to complete the tests before the previous timer ran out.
193 =head1 Platform Support
199 =head2 Discontinued Platforms
203 =head2 Platform-Specific Notes
211 Documentation listing the Solaris packages required to build Perl on
212 Solaris 9 and Solaris 10 has been corrected.
222 The F<lib/locale.t> test script has been updated to work on the upcoming
227 Mac OS X specific compilation instructions have been clarified.
237 The L<ODBM_File> installation process has been updated with the new library
238 paths on Ubuntu natty.
242 =head1 Internal Changes
248 The compiled representation of formats is now stored via the mg_ptr of
249 their PERL_MAGIC_fm. Previously it was stored in the string buffer,
250 beyond SvLEN(), the regular end of the string. SvCOMPILED() and
251 SvCOMPILED_{on,off}() now exist solely for compatibility for XS code.
252 The first is always 0, the other two now no-ops.
262 A bug has been fixed that would cause a "Use of freed value in iteration"
263 error if the next two hash elements that would be iterated over are
264 deleted. [perl #85026]
268 Passing the same constant subroutine to both C<index> and C<formline> no
269 longer causes one or the other to fail. [perl #89218]
273 5.14.0 introduced some memory leaks in regular expression character
274 classes such as C<[\w\s]>, which have now been fixed.
278 An edge case in regular expression matching could potentially loop.
279 This happened only under C</i> in bracketed character classes that have
280 characters with multi-character folds, and the target string to match
281 against includes the first portion of the fold, followed by another
282 character that has a multi-character fold that begins with the remaining
283 portion of the fold, plus some more.
285 "s\N{U+DF}" =~ /[\x{DF}foo]/i
287 is one such case. C<\xDF> folds to C<"ss">.
291 Several Unicode case-folding bugs have been fixed.
295 The new (in 5.14.0) regular expression modifier C</a> when repeated like
296 C</aa> forbids the characters outside the ASCII range that match
297 characters inside that range from matching under C</i>. This did not
298 work under some circumstances, all involving alternation, such as:
300 "\N{KELVIN SIGN}" =~ /k|foo/iaa;
302 succeeded inappropriately. This is now fixed.
306 Fixed a case where it was possible that a freed buffer may have been read
307 from when parsing a here document.
311 =head1 Acknowledgements
313 Perl 5.14.1 represents approximately four weeks of development since
314 Perl 5.14.0 and contains approximately 3500 lines of changes
315 across 38 files from 17 authors.
317 Perl continues to flourish into its third decade thanks to a vibrant
318 community of users and developers. The following people are known to
319 have contributed the improvements that became Perl 5.14.1:
321 Bo Lindbergh, Claudio Ramirez, Craig A. Berry, David Leadbeater, Father
322 Chrysostomos, Jesse Vincent, Jim Cromie, Justin Case, Karl Williamson,
323 Leo Lapworth, Nicholas Clark, Nobuhiro Iwamatsu, smash, Tom Christiansen,
324 Ton Hospel, Vladimir Timofeev, and Zsbán Ambrus.
327 =head1 Reporting Bugs
329 If you find what you think is a bug, you might check the articles
330 recently posted to the comp.lang.perl.misc newsgroup and the perl
331 bug database at http://rt.perl.org/perlbug/ . There may also be
332 information at http://www.perl.org/ , the Perl Home Page.
334 If you believe you have an unreported bug, please run the L<perlbug>
335 program included with your release. Be sure to trim your bug down
336 to a tiny but sufficient test case. Your bug report, along with the
337 output of C<perl -V>, will be sent off to perlbug@perl.org to be
338 analysed by the Perl porting team.
340 If the bug you are reporting has security implications, which make it
341 inappropriate to send to a publicly archived mailing list, then please send
342 it to perl5-security-report@perl.org. This points to a closed subscription
343 unarchived mailing list, which includes all the core committers, who be able
344 to help assess the impact of issues, figure out a resolution, and help
345 co-ordinate the release of patches to mitigate or fix the problem across all
346 platforms on which Perl is supported. Please only use this address for
347 security issues in the Perl core, not for modules independently
352 The F<Changes> file for an explanation of how to view exhaustive details
355 The F<INSTALL> file for how to build Perl.
357 The F<README> file for general stuff.
359 The F<Artistic> and F<Copying> files for copyright information.