4 This has been completed up to 4df35a07ff9, except for:
5 04777d295957ad270188e4debf51b523e07cc5b0
6 c565ab54dc649bb62cd4d57149d7b2abb21df5f3
7 1c8d11ca3d0ce8bc11562f159b94c2c7e62dea6c
8 51698cb360d5bba06e12496ef9c7bf82e3352b71
9 0c4d3b5ea916cf640ea163c5a6bcffefade55a1b
10 9960802c2b6f4b61c0c7ce718f3ce247a3a13bf1
11 2726813d9af5d50f1451663cd931317e7172da50
12 8951c461a5079d86be33a432491eda98c24dc397
13 I may have missed a few module version bumps.
17 [ this is a template for a new perldelta file. Any text flagged as
18 XXX needs to be processed before release. ]
20 perldelta - what is new for perl v5.13.7
24 This document describes differences between the 5.13.6 release and
27 If you are upgrading from an earlier release such as 5.13.5, first read
28 L<perl5136delta>, which describes differences between 5.13.5 and
33 XXX Any important notices here
35 =head1 Core Enhancements
37 XXX New core language features go here. Summarise user-visible core language
38 enhancements. Particularly prominent performance optimisations could go
39 here, but most should go in the L</Performance Enhancements> section.
41 [ List each enhancement as a =head2 entry ]
43 =head2 Single term prototype
45 The C<+> prototype is a special alternative to C<$> that will act like
46 C<\[@%]> when given a literal array or hash variable, but will otherwise
47 force scalar context on the argument. This is useful for functions which
48 should accept either a literal array or an array reference as the argument:
52 die "Not an array or arrayref" unless ref $aref eq 'ARRAY';
56 When using the C<+> prototype, your function must check that the argument
57 is of an acceptable type.
59 =head2 C<use re '/flags';>
61 The C<re> pragma now has the ability to turn on regular expression flags
62 till the end of the lexical scope:
65 "foo" =~ / (.+) /; # /x implied
67 See L<re/'/flags' mode> for details.
69 =head2 Statement labels can appear in more places
71 Statement labels can now occur before any type of statement or declaration,
74 =head2 C<use feature "unicode_strings"> now applies to more regex matching
76 Another chunk of the L<perlunicode/The "Unicode Bug"> is fixed in this
77 release. Now, regular expressions compiled within the scope of the
78 "unicode_strings" feature (or under the "u" regex modifier (specifiable
79 currently only with infix notation C<(?u:...)> or via C<use re '/u'>)
80 will match the same whether or not the target string is encoded in utf8,
81 with regard to C<[[:posix:]]> character classes
83 Work is underway to add the case sensitive matching to the control of
84 this feature, but was not complete in time for this dot release.
86 =head2 Array and hash container functions accept references
88 All built-in functions that operate directly on array or hash
89 containers now also accept hard references to arrays or hashes:
91 |----------------------------+---------------------------|
92 | Traditional syntax | Terse syntax |
93 |----------------------------+---------------------------|
94 | push @$arrayref, @stuff | push $arrayref, @stuff |
95 | unshift @$arrayref, @stuff | unshift $arrayref, @stuff |
96 | pop @$arrayref | pop $arrayref |
97 | shift @$arrayref | shift $arrayref |
98 | splice @$arrayref, 0, 2 | splice $arrayref, 0, 2 |
99 | keys %$hashref | keys $hashref |
100 | keys @$arrayref | keys $arrayref |
101 | values %$hashref | values $hashref |
102 | values @$arrayref | values $arrayref |
103 | ($k,$v) = each %$hashref | ($k,$v) = each $hashref |
104 | ($k,$v) = each @$arrayref | ($k,$v) = each $arrayref |
105 |----------------------------+---------------------------|
107 This allows these built-in functions to act on long dereferencing chains
108 or on the return value of subroutines without needing to wrap them in
111 push @{$obj->tags}, $new_tag; # old way
112 push $obj->tags, $new_tag; # new way
114 for ( keys %{$hoh->{genres}{artists}} ) {...} # old way
115 for ( keys $hoh->{genres}{artists} ) {...} # new way
117 For C<push>, C<unshift> and C<splice>, the reference will auto-vivify
118 if it is not defined, just as if it were wrapped with C<@{}>.
120 Calling C<keys> or C<values> directly on a reference gives a substantial
121 performance improvement over explicit dereferencing.
123 For C<keys>, C<values>, C<each>, when overloaded dereferencing is
124 present, the overloaded dereference is used instead of dereferencing the
125 underlying reftype. Warnings are issued about assumptions made in the
126 following three ambiguous cases:
128 (a) If both %{} and @{} overloading exists, %{} is used
129 (b) If %{} overloading exists on a blessed arrayref, %{} is used
130 (c) If @{} overloading exists on a blessed hashref, @{} is used
134 The C</r> flag, which was added to C<s///> in 5.13.2, has been extended to
135 the C<y///> operator.
137 It causes it to perform the substitution on a I<copy> of its operand,
138 returning that copy instead of a character count.
142 XXX Any security-related notices go here. In particular, any security
143 vulnerabilities closed should be noted here rather than in the
144 L</Selected Bug Fixes> section.
146 [ List each security issue as a =head2 entry ]
148 =head1 Incompatible Changes
150 XXX For a release on a stable branch, this section aspires to be:
152 There are no changes intentionally incompatible with 5.XXX.XXX. If any
153 exist, they are bugs and reports are welcome.
155 [ List each incompatible change as a =head2 entry ]
157 =head2 Dereferencing typeglobs
159 If you assign a typeglob to a scalar variable:
163 the glob that is copied to C<$glob> is marked with a special flag
164 indicating that the glob is just a copy. This allows subsequent assignments
165 to C<$glob> to overwrite the glob. The original glob, however, is
168 Many Perl operators did not distinguish between these two types of globs.
169 This would result in strange behaviour in edge cases: C<untie $scalar>
170 would do nothing if the last thing assigned to the scalar was a glob
171 (because it treated it as C<untie *$scalar>, which unties a handle).
172 Assignment to a glob slot (e.g., C<(*$glob) = \@some_array>) would simply
173 assign C<\@some_array> to C<$glob>.
175 To fix this, the C<*{}> operator (including the C<*foo> and C<*$foo> forms)
176 has been modified to make a new immutable glob if its operand is a glob
177 copy. Various operators that make a distinction between globs and scalars
178 have been modified to treat only immutable globs as globs.
180 This causes an incompatible change in code that assigns a glob to the
181 return value of C<*{}> when that operator was passed a glob copy. Take the
182 following code, for instance:
187 The C<*$glob> on the second line returns a new immutable glob. That new
188 glob is made an alias to C<*bar>. Then it is discarded. So the second
189 assignment has no effect.
191 The upside to this incompatible change is that bugs
192 L<[perl #77496]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77496>,
193 L<[perl #77502]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77502>,
194 L<[perl #77508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77508>,
195 L<[perl #77688]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77688>,
197 L<[perl #77812]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77812>,
198 and maybe others, too, have been fixed.
200 See L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=77810> for even
205 XXX Any deprecated features, syntax, modules etc. should be listed here.
206 In particular, deprecated modules should be listed here even if they are
207 listed as an updated module in the L</Modules and Pragmata> section.
209 [ List each deprecation as a =head2 entry ]
211 =head1 Performance Enhancements
213 XXX Changes which enhance performance without changing behaviour go here. There
214 may well be none in a stable release.
216 [ List each enhancement as a =item entry ]
226 =head1 Modules and Pragmata
228 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
229 go here. If Module::CoreList is updated, generate an initial draft of the
230 following sections using F<Porting/corelist-perldelta.pl>, which prints stub
231 entries to STDOUT. Results can be pasted in place of the '=head2' entries
232 below. A paragraph summary for important changes should then be added by hand.
233 In an ideal world, dual-life modules would have a F<Changes> file that could be
236 [ Within each section, list entries as a =item entry ]
238 =head2 New Modules and Pragmata
244 The following modules were added by the C<Unicode::Collate>
245 upgrade from 0.63 to 0.65. See below for details.
247 C<Unicode::Collate::CJK::Big5>
249 C<Unicode::Collate::CJK::GB2312>
251 C<Unicode::Collate::CJK::JISX0208>
253 C<Unicode::Collate::CJK::Korean>
255 C<Unicode::Collate::CJK::Pinyin>
257 C<Unicode::Collate::CJK::Stroke>
261 =head2 Updated Modules and Pragmata
267 C<Archive::Extract> has been upgraded from 0.44 to 0.46
269 Resolves an issue with NetBSD-current and its new unzip
274 C<B> has been upgraded from 1.24 to 1.25.
276 It no longer crashes when taking apart a C<y///> containing characters
277 outside the octet range or compiled in a C<use utf8> scope.
281 C<B::Deparse> has been upgraded from 0.99 to 1.01.
283 It fixes deparsing of C<our> followed by a variable with funny characters
284 (as permitted under the C<utf8> pragma)
285 L<[perl #33752]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=33752>.
289 C<CGI> has been upgraded from 3.49 to 3.50
291 This provides the following security fixes: the MIME boundary in
292 multipart_init is now random and improvements to the handling of
293 newlines embedded in header values.
295 The documentation for param_fetch() has been corrected and clarified.
299 C<CPAN> has been upgraded from 1.94_61 to 1.94_62
303 C<CPANPLUS> has been upgraded from 0.9007 to 0.9010
305 Fixes for the SQLite source engine and resolving of issues with the
306 testsuite when run under local::lib and/or cpanminus
310 C<CPANPLUS::Dist::Build> has been upgraded from 0.48 to 0.50
314 C<Data::Dumper> has been upgraded from 2.129 to 2.130.
318 C<DynaLoader> has been upgraded from 1.10 to 1.11.
320 It fixes a buffer overflow when passed a very long file name.
324 C<ExtUtils::Constant> has been upgraded from 0.22 to 0.23.
328 C<Fcntl> has been upgraded from 1.09 to 1.10.
332 C<File::Fetch> has been upgraded from 0.24 to 0.28
334 C<HTTP::Lite> is now supported for 'http' scheme.
336 The C<fetch> utility is supported on FreeBSD, NetBSD and
337 Dragonfly BSD for the C<http> and C<ftp> schemes.
341 C<File::Glob> has been upgraded from 1.09 to 1.10.
345 C<File::stat> has been upgraded from 1.03 to 1.04.
347 The C<-x> and C<-X> file test operators now work correctly under the root
352 C<GDBM_File> has been upgraded from 1.11 to 1.12.
354 This fixes a memory leak when DBM filters are used.
358 C<Hash::Util> has been upgraded from 0.09 to 0.10.
362 C<Hash::Util::FieldHash> has been upgraded from 1.05 to 1.06.
366 C<I18N::Langinfo> has been upgraded from 0.06 to 0.07.
370 C<Locale::Maketext> has been upgraded from 1.16 to 1.17.
374 C<Math::BigInt> has been upgraded from 1.97 to 1.98.
376 XXX Should the changes be listed here?
380 C<Math::BigInt::FastCalc> has been upgraded from 0.22 to 0.24.
382 XXX Should the changes be listed here?
386 C<MIME::Base64> has been upgraded from 3.09 to 3.10
388 Includes new functions to calculate the length of encoded and decoded
393 C<mro> has been upgraded from 1.04 to 1.05.
397 C<NDBM_File> has been upgraded from 1.09 to 1.10.
399 This fixes a memory leak when DBM filters are used.
403 C<ODBM_File> has been upgraded from 1.08 to 1.09.
405 This fixes a memory leak when DBM filters are used.
409 C<Opcode> has been upgraded from 1.16 to 1.17.
413 C<parent> has been upgraded from 0.223 to 0.224
417 C<Pod::Simple> has been upgraded from 3.14 to 3.15
419 Includes various fixes to C<HTML> and C<XHTML> handling.
423 C<POSIX> has been upgraded from 1.21 to 1.22.
427 C<re> has been upgraded from 0.13 to 0.14, for the sake of the new
428 C<use re "/flags"> pragma.
432 C<Safe> has been upgraded from 2.28 to 2.29.
434 It adds C<&version::vxs::VCMP> to the default share.
438 C<SDBM_File> has been upgraded from 1.07 to 1.08.
442 C<SelfLoader> has been upgraded from 1.17 to 1.18.
444 It now works in taint mode
445 L<[perl #72062]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72062>.
449 C<Socket> has been upgraded from 1.90 to 1.91.
453 C<Sys::Hostname> has been upgraded from 1.13 to 1.14.
457 C<Unicode::Collate> has been upgraded from 0.63 to 0.66
459 This release newly adds locales C<ja> C<ko> and C<zh> and its variants
460 ( C<zh__big5han>, C<zh__gb2312han>, C<zh__pinyin>, C<zh__stroke> ).
462 The following modules have been added:
464 C<Unicode::Collate::CJK::Big5> for C<zh__big5han> which makes
465 tailoring of CJK Unified Ideographs in the order of CLDR's big5han ordering.
467 C<Unicode::Collate::CJK::GB2312> for C<zh__gb2312han> which makes
468 tailoring of CJK Unified Ideographs in the order of CLDR's gb2312han ordering.
470 C<Unicode::Collate::CJK::JISX0208> which makes tailoring of 6355 kanji
471 (CJK Unified Ideographs) in the JIS X 0208 order.
473 C<Unicode::Collate::CJK::Korean> which makes tailoring of CJK Unified Ideographs
474 in the order of CLDR's Korean ordering.
476 C<Unicode::Collate::CJK::Pinyin> for C<zh__pinyin> which makes
477 tailoring of CJK Unified Ideographs in the order of CLDR's pinyin ordering.
479 C<Unicode::Collate::CJK::Stroke> for C<zh__stroke> which makes
480 tailoring of CJK Unified Ideographs in the order of CLDR's stroke ordering.
484 =head2 Removed Modules and Pragmata
496 XXX Changes to files in F<pod/> go here. Consider grouping entries by
497 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
499 L<perlvar> reorders the variables and groups them by topic. Each variable
500 introduced after Perl 5.000 notes the first version in which it is
501 available. L<perlvar> also has a new section for deprecated variables to
502 note when they were removed.
504 =head2 New Documentation
506 XXX Changes which create B<new> files in F<pod/> go here.
510 XXX Description of the purpose of the new file here
512 =head2 Changes to Existing Documentation
514 XXX Changes which significantly change existing files in F<pod/> go here.
515 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
522 Array and hash slices in scalar context are now documented in L<perldata>.
526 L<perlform> and L<perllocale> have been corrected to state that
527 C<use locale> affects formats.
537 XXX Description of the change here
543 The following additions or changes have been made to diagnostic output,
544 including warnings and fatal error messages. For the complete list of
545 diagnostic messages, see L<perldiag>.
547 XXX New or changed warnings emitted by the core's C<C> code go here. Also
548 include any changes in L<perldiag> that reconcile it to the C<C> code.
550 [ Within each section, list entries as a =item entry ]
552 =head2 New Diagnostics
554 XXX Newly added diagnostic messages go here
560 "Using !~ with %s doesn't make sense": This message was actually added in
561 5.13.2, but was omitted from perldelta. It now applies also to the C<y///>
562 operator, and has been documented.
566 =head2 Changes to Existing Diagnostics
568 XXX Changes (i.e. rewording) of diagnostic messages go here
578 =head1 Utility Changes
580 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
581 here. Most of these are built within the directories F<utils> and F<x2p>.
583 [ List utility changes as a =head3 entry for each utility and =item
584 entries for each change
585 Use L<XXX> with program names to get proper documentation linking. ]
597 =head1 Configuration and Compilation
599 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
600 go here. Any other changes to the Perl build process should be listed here.
601 However, any platform-specific changes should be listed in the
602 L</Platform Support> section, instead.
604 [ List changes as a =item entry ].
616 XXX Any significant changes to the testing of a freshly built perl should be
617 listed here. Changes which create B<new> files in F<t/> go here as do any
618 large changes to the testing harness (e.g. when parallel testing was added).
619 Changes to existing files in F<t/> aren't worth summarising, although the bugs
620 that they represent may be covered elsewhere.
622 [ List each test improvement as a =item entry ]
628 F<t/mro/isarev.t> has been added, which tests that C<PL_isarev> (accessible
629 at the Perl level via C<mro::get_isarev>) is updated properly.
633 F<t/run/switchd-78586.t> has been added, which tests that
634 L<[perl #78586]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78586>
635 has been fixed (related to line numbers in the debbuger).
639 =head1 Platform Support
641 XXX Any changes to platform support should be listed in the sections below.
643 [ Within the sections, list each platform as a =item entry with specific
644 changes as paragraphs below it. ]
648 XXX List any platforms that this version of perl compiles on, that previous
649 versions did not. These will either be enabled by new files in the F<hints/>
650 directories, or new subdirectories and F<README> files at the top level of the
655 =item XXX-some-platform
661 =head2 Discontinued Platforms
663 XXX List any platforms that this version of perl no longer compiles on.
667 =item XXX-some-platform
673 =head2 Platform-Specific Notes
675 XXX List any changes for specific platforms. This could include configuration
676 and compilation changes or changes in portability/compatibility. However,
677 changes within modules for platforms should generally be listed in the
678 L</Modules and Pragmata> section.
684 Directory handles are now properly cloned when threads are created. In perl
685 5.13.6, child threads simply stopped inheriting directory handles. In
686 previous versions, threads would share handles, resulting in crashes.
690 =head1 Internal Changes
692 XXX Changes which affect the interface available to C<XS> code go here.
693 Other significant internal changes for future core maintainers should
696 [ List each test improvement as a =item entry ]
702 C<lex_start> has been added to the API, but is considered experimental.
706 A new C<parse_block> function has been added to the API
707 L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
711 A new, experimental API has been added for accessing the internal
712 structure that Perl uses for C<%^H>. See the functions beginning with
713 C<cophh_> in L<perlapi>.
717 A stash can now have a list of effective names in addition to its usual
718 name. The first effective name can be accessed via the C<HvENAME> macro,
719 which is now the recommended name to use in MRO linearisations (C<HvNAME>
720 being a fallback if there is no C<HvENAME>).
722 These names are added and deleted via C<hv_ename_add> and
723 C<hv_ename_delete>. These two functions are I<not> part of the API.
727 The way the parser handles labels has been cleaned up and refactored. As a
728 result, the C<newFOROP()> constructor function no longer takes a parameter
729 stating what label is to go in the state op.
733 The C<newWHILEOP()> and C<newFOROP()> functions no longer accept a line
734 number as a parameter.
738 A new C<parse_barestmt()> function has been added, for parsing a statement
743 A new C<parse_label()> function has been added, that parses a statement
744 labels, separate from statements.
748 The C<CvSTASH()> macro can now only be used as an rvalue. C<CvSTASH_set()>
749 has been added to replace assignment to C<CvSTASH()>. This is to ensure
750 that backreferences are handled properly. These macros are not part of the
755 The C<op_scope()> and C<op_lvalue()> functions have been added to the API,
756 but are considered experimental.
760 =head1 Selected Bug Fixes
762 XXX Important bug fixes in the core language are summarised here.
763 Bug fixes in files in F<ext/> and F<lib/> are best summarised in
764 L</Modules and Pragmata>.
766 [ List each fix as a =item entry ]
772 The C<parse_stmt> C function added in earlier in the 5.13.x series has been
773 fixed to work with statements ending with C<}>
774 L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
778 The C<parse_fullstmt> C function added in 5.13.5 has been fixed to work
779 when called while an expression is being parsed.
783 Characters in the Latin-1 non-ASCII range (0x80 to 0xFF) used not to match
784 themselves if the string happened to be UTF8-encoded internally, the
785 regular expression was not, and the character in the regular expression was
786 inside a repeated group (e.g.,
787 C<Encode::decode_utf8("\303\200") =~ /(\xc0)+/>)
788 L<[perl #78464]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78464>.
792 The C<(?d)> regular expression construct now overrides a previous C<(?u)>
793 or C<use feature "unicode_string">
794 L<[perl #78508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78508>.
798 A memory leak in C<do "file">, introduced in perl 5.13.6, has been fixed
799 L<[perl #78488]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78488>.
803 Various bugs related to typeglob dereferencing have been fixed. See
804 L</Dereferencing typeglobs>, above.
808 The C<SvPVbyte> function available to XS modules now calls magic before
809 downgrading the SV, to avoid warnings about wide characters
810 L<[perl #72398]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72398>.
814 The C<=> operator used to ignore magic (e.g., tie methods) on its
815 right-hand side if the scalar happened to hold a typeglob. This could
816 happen if a typeglob was the last thing returned from or assigned to a tied
818 L<[perl #77498]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77498>.
822 C<sprintf> was ignoring locales when called with constant arguments
823 L<[perl #78632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78632>.
827 A non-ASCII character in the Latin-1 range could match both a Posix
828 class, such as C<[[:alnum:]]>, and its inverse C<[[:^alnum:]]>. This is
829 now fixed for regular expressions compiled under the C<"u"> modifier.
830 See L</C<use feature "unicode_strings"> now applies to more regex matching>.
831 L<[perl #18281]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=18281>.
835 Concatenating long strings under C<use encoding> no longer causes perl to
837 L<[perl #78674]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78674>.
841 Typeglob assignments would crash if the glob's stash no longer existed, if
842 the glob assigned to was named 'ISA' or the glob on either side of the
843 assignment contained a subroutine.
847 Calling C<< ->import >> on a class lacking an import method could corrupt the stack result in strange behaviour. For instance,
849 push @a, "foo", $b = bar->import;
851 would assign 'foo' to C<$b>
852 L<[perl #63790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63790>.
856 Creating an alias to a package when that package had been detached from the
857 symbol table would result in corrupted isa caches
858 L<[perl #77358]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77358>.
862 C<.=> followed by C<< <> >> or C<readline> would leak memory if C<$/>
863 contained characters beyond the octet range and the scalar assigned to
864 happened to be encoded as UTF8 internally
865 L<[perl #72246]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72246>.
869 The C<recv> function could crash when called with the MSG_TRUNC flag
870 L<[perl #75082]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75082>.
874 Evaluating a simple glob (like C<*a>) was calling get-magic on the glob,
875 even when its contents were not being used
876 L<[perl #78580]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78580>.
878 This bug was introduced in 5.13.2 and did not affect earlier perl versions.
882 Matching a Unicode character against an alternation containing characters
883 that happened to match continuation bytes in the former's UTF8
884 representation (C<qq{\x{30ab}} =~ /\xab|\xa9/>) would cause erroneous
886 L<[perl #70998]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=70998>.
890 C<s///r> (added in 5.13.2) no longer leaks.
894 The trie optimisation was not taking empty groups into account, preventing
895 'foo' from matching C</\A(?:(?:)foo|bar|zot)\z/>
896 L<[perl #78356]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78356>.
900 A pattern containing a C<+> inside a lookahead would sometimes cause an
901 incorrect match failure in a global match (e.g., C</(?=(\S+))/g>)
902 L<[perl #68564]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68564>.
906 Iterating with C<foreach> over an array returned by an lvalue sub now works
907 L<[perl #23790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=23790>.
911 C<$@> is now localised during calls to C<binmode> to prevent action at a
913 L<[perl #78844]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78844>.
917 C<PL_isarev>, which is accessible to Perl via C<mro::get_isarev> is now
918 updated properly when packages are deleted or removed from the C<@ISA> of
919 other classes. This allows many packages to be created and deleted without
920 causing a memory leak
921 L<[perl #75176]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75176>.
925 C<undef *Foo::> and C<undef *Foo::ISA> used not to update the internal isa
926 caches if the stash or array (respectively) had a reference elsewhere. In
927 fact, C<undef *Foo::ISA> would stop a new C<@Foo::ISA> array from updating
929 L<[perl #79024]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79024>.
933 =head1 Known Problems
935 XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
936 tests that had to be C<TODO>ed for the release would be noted here, unless
937 they were specific to a particular platform (see below).
939 This is a list of some significant unfixed bugs, which are regressions
940 from either 5.XXX.XXX or 5.XXX.XXX.
942 [ List each fix as a =item entry ]
954 XXX If any significant core contributor has died, we've added a short obituary
957 Randy Kobes, creator of the kobesearch alternative to search.cpan.org and
958 contributor/maintainer to several core Perl toolchain modules, passed away
959 on September 18, 2010 after a battle with lung cancer. His contributions
960 to the Perl community will be missed.
962 =head1 Acknowledgements
964 XXX The list of people to thank goes here.
966 =head1 Reporting Bugs
968 If you find what you think is a bug, you might check the articles
969 recently posted to the comp.lang.perl.misc newsgroup and the perl
970 bug database at http://rt.perl.org/perlbug/ . There may also be
971 information at http://www.perl.org/ , the Perl Home Page.
973 If you believe you have an unreported bug, please run the B<perlbug>
974 program included with your release. Be sure to trim your bug down
975 to a tiny but sufficient test case. Your bug report, along with the
976 output of C<perl -V>, will be sent off to perlbug@perl.org to be
977 analysed by the Perl porting team.
979 If the bug you are reporting has security implications, which make it
980 inappropriate to send to a publicly archived mailing list, then please send
981 it to perl5-security-report@perl.org. This points to a closed subscription
982 unarchived mailing list, which includes all the core committers, who be able
983 to help assess the impact of issues, figure out a resolution, and help
984 co-ordinate the release of patches to mitigate or fix the problem across all
985 platforms on which Perl is supported. Please only use this address for
986 security issues in the Perl core, not for modules independently
991 The F<Changes> file for an explanation of how to view exhaustive details
994 The F<INSTALL> file for how to build Perl.
996 The F<README> file for general stuff.
998 The F<Artistic> and F<Copying> files for copyright information.