summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/pods/perl5137delta.pod')
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5137delta.pod945
1 files changed, 945 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod
new file mode 100644
index 00000000000..0a65b4365a9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod
@@ -0,0 +1,945 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5137delta - what is new for perl v5.13.7
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.6 release and
+the 5.13.7 release.
+
+If you are upgrading from an earlier release such as 5.13.5, first read
+L<perl5136delta>, which describes differences between 5.13.5 and
+5.13.6.
+
+=head1 Core Enhancements
+
+=head2 Single term prototype
+
+The C<+> prototype is a special alternative to C<$> that will act like
+C<\[@%]> when given a literal array or hash variable, but will otherwise
+force scalar context on the argument. This is useful for functions which
+should accept either a literal array or an array reference as the argument:
+
+ sub smartpush (+@) {
+ my $aref = shift;
+ die "Not an array or arrayref" unless ref $aref eq 'ARRAY';
+ push @$aref, @_;
+ }
+
+When using the C<+> prototype, your function must check that the argument
+is of an acceptable type.
+
+=head2 C<use re '/flags';>
+
+The C<re> pragma now has the ability to turn on regular expression flags
+till the end of the lexical scope:
+
+ use re '/x';
+ "foo" =~ / (.+) /; # /x implied
+
+See L<re/"'/flags' mode"> for details.
+
+=head2 Statement labels can appear in more places
+
+Statement labels can now occur before any type of statement or declaration,
+such as C<package>.
+
+=head2 C<use feature "unicode_strings"> now applies to more regex matching
+
+Another chunk of the L<perlunicode/The "Unicode Bug"> is fixed in this
+release. Now, regular expressions compiled within the scope of the
+"unicode_strings" feature (or under the "u" regex modifier (specifiable
+currently only with infix notation C<(?u:...)> or via C<use re '/u'>)
+will match the same whether or not the target string is encoded in utf8,
+with regard to C<[[:posix:]]> character classes
+
+Work is underway to add the case sensitive matching to the control of
+this feature, but was not complete in time for this dot release.
+
+=head2 Array and hash container functions accept references
+
+All built-in functions that operate directly on array or hash
+containers now also accept hard references to arrays or hashes:
+
+ |----------------------------+---------------------------|
+ | Traditional syntax | Terse syntax |
+ |----------------------------+---------------------------|
+ | push @$arrayref, @stuff | push $arrayref, @stuff |
+ | unshift @$arrayref, @stuff | unshift $arrayref, @stuff |
+ | pop @$arrayref | pop $arrayref |
+ | shift @$arrayref | shift $arrayref |
+ | splice @$arrayref, 0, 2 | splice $arrayref, 0, 2 |
+ | keys %$hashref | keys $hashref |
+ | keys @$arrayref | keys $arrayref |
+ | values %$hashref | values $hashref |
+ | values @$arrayref | values $arrayref |
+ | ($k,$v) = each %$hashref | ($k,$v) = each $hashref |
+ | ($k,$v) = each @$arrayref | ($k,$v) = each $arrayref |
+ |----------------------------+---------------------------|
+
+This allows these built-in functions to act on long dereferencing chains
+or on the return value of subroutines without needing to wrap them in
+C<@{}> or C<%{}>:
+
+ push @{$obj->tags}, $new_tag; # old way
+ push $obj->tags, $new_tag; # new way
+
+ for ( keys %{$hoh->{genres}{artists}} ) {...} # old way
+ for ( keys $hoh->{genres}{artists} ) {...} # new way
+
+For C<push>, C<unshift> and C<splice>, the reference will auto-vivify
+if it is not defined, just as if it were wrapped with C<@{}>.
+
+Calling C<keys> or C<values> directly on a reference gives a substantial
+performance improvement over explicit dereferencing.
+
+For C<keys>, C<values>, C<each>, when overloaded dereferencing is
+present, the overloaded dereference is used instead of dereferencing the
+underlying reftype. Warnings are issued about assumptions made in the
+following three ambiguous cases:
+
+ (a) If both %{} and @{} overloading exists, %{} is used
+ (b) If %{} overloading exists on a blessed arrayref, %{} is used
+ (c) If @{} overloading exists on a blessed hashref, @{} is used
+
+=head2 y///r
+
+The C</r> flag, which was added to C<s///> in 5.13.2, has been extended to
+the C<y///> operator.
+
+It causes it to perform the substitution on a I<copy> of its operand,
+returning that copy instead of a character count.
+
+=head2 New global variable C<${^GLOBAL_PHASE}>
+
+A new global variable, C<${^GLOBAL_PHASE}>, has been added to allow
+introspection of the current phase of the perl interpreter. It's explained in
+detail in L<perlvar/"${^GLOBAL_PHASE}"> and
+L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END">.
+
+=head2 Unicode Version 6.0 is now supported (mostly)
+
+Perl comes with the Unicode 6.0 data base updated with
+L<Corrigendum #8|http://www.unicode.org/versions/corrigendum8.html>,
+with one exception noted below.
+See L<http://unicode.org/versions/Unicode6.0.0> for details on the new
+release. Perl does not support any Unicode provisional properties,
+including the new ones for this release, but their database files are
+packaged with Perl.
+
+Unicode 6.0 has chosen to use the name C<BELL> for the character at U+1F514,
+which is a symbol that looks like a bell, and used in Japanese cell
+phones. This conflicts with the long-standing Perl usage of having
+C<BELL> mean the ASCII C<BEL> character, U+0007. In Perl 5.14,
+C<\N{BELL}> will continue to mean U+0007, but its use will generate a
+deprecated warning message, unless such warnings are turned off. The
+new name for U+0007 in Perl will be C<ALERT>, which corresponds nicely
+with the existing shorthand sequence for it, C<"\a">. C<\N{BEL}> will
+mean U+0007, with no warning given. The character at U+1F514 will not
+have a name in 5.14, but can be referred to by C<\N{U+1F514}>. The plan
+is that in Perl 5.16, C<\N{BELL}> will refer to U+1F514, and so all code
+that uses C<\N{BELL}> should convert by then to using C<\N{ALERT}>,
+C<\N{BEL}>, or C<"\a"> instead.
+
+=head2 Improved support for custom OPs
+
+Custom ops can now be registered with the new C<custom_op_register> C
+function and the C<XOP> structure. This will make it easier to add new
+properties of custom ops in the future. Two new properties have been added
+already, C<xop_class> and C<xop_peep>.
+
+C<xop_class> is one of the OA_*OP constants, and allows L<B> and other
+introspection mechanisms to work with custom ops that aren't BASEOPs.
+C<xop_peep> is a pointer to a function that will be called for ops of this
+type from C<Perl_rpeep>.
+
+See L<perlguts/Custom Operators> and L<perlapi/Custom Operators> for more
+detail.
+
+The old C<PL_custom_op_names>/C<PL_custom_op_descs> interface is still
+supported but discouraged.
+
+=head1 Incompatible Changes
+
+=head2 Dereferencing typeglobs
+
+If you assign a typeglob to a scalar variable:
+
+ $glob = *foo;
+
+the glob that is copied to C<$glob> is marked with a special flag
+indicating that the glob is just a copy. This allows subsequent assignments
+to C<$glob> to overwrite the glob. The original glob, however, is
+immutable.
+
+Many Perl operators did not distinguish between these two types of globs.
+This would result in strange behaviour in edge cases: C<untie $scalar>
+would do nothing if the last thing assigned to the scalar was a glob
+(because it treated it as C<untie *$scalar>, which unties a handle).
+Assignment to a glob slot (e.g., C<(*$glob) = \@some_array>) would simply
+assign C<\@some_array> to C<$glob>.
+
+To fix this, the C<*{}> operator (including the C<*foo> and C<*$foo> forms)
+has been modified to make a new immutable glob if its operand is a glob
+copy. Various operators that make a distinction between globs and scalars
+have been modified to treat only immutable globs as globs.
+
+This causes an incompatible change in code that assigns a glob to the
+return value of C<*{}> when that operator was passed a glob copy. Take the
+following code, for instance:
+
+ $glob = *foo;
+ *$glob = *bar;
+
+The C<*$glob> on the second line returns a new immutable glob. That new
+glob is made an alias to C<*bar>. Then it is discarded. So the second
+assignment has no effect.
+
+It also means that C<tie $handle> will now tie C<$handle> as a scalar, even
+if it has had a glob assigned to it.
+
+The upside to this incompatible change is that bugs
+L<[perl #77496]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77496>,
+L<[perl #77502]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77502>,
+L<[perl #77508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77508>,
+L<[perl #77688]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77688>,
+and
+L<[perl #77812]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77812>,
+and maybe others, too, have been fixed.
+
+See L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=77810> for even
+more detail.
+
+=head2 Clearing stashes
+
+Stash list assignment C<%foo:: = ()> used to make the stash anonymous
+temporarily while it was being emptied. Consequently, any of its
+subroutines referenced elsewhere would become anonymous (showing up as
+"(unknown)" in C<caller>). Now they retain their package names, such that
+C<caller> will return the original sub name if there is still a reference
+to its typeglob, or "foo::__ANON__" otherwise
+L<[perl #79208]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79208>.
+
+=head1 Deprecations
+
+=head2 C<\N{BELL}> is deprecated
+
+This is because Unicode is using that name for a different character.
+See L</Unicode Version 6.0 is now supported (mostly)> for more
+explanation.
+
+=head1 Performance Enhancements
+
+=over 4
+
+=item *
+
+When an object has many weak references to it, freeing that object
+can under some some circumstances take O(N^2) time to free (where N is the
+number of references). The number of circumstances has been reduced.
+L<[perl #75254]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75254>.
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+=over 4
+
+=item *
+
+The following modules were added by the C<Unicode::Collate>
+upgrade from 0.63 to 0.67. See below for details.
+
+C<Unicode::Collate::CJK::Big5>
+
+C<Unicode::Collate::CJK::GB2312>
+
+C<Unicode::Collate::CJK::JISX0208>
+
+C<Unicode::Collate::CJK::Korean>
+
+C<Unicode::Collate::CJK::Pinyin>
+
+C<Unicode::Collate::CJK::Stroke>
+
+=back
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<Archive::Extract> has been upgraded from 0.44 to 0.46
+
+Resolves an issue with NetBSD-current and its new unzip
+executable.
+
+=item *
+
+C<Archive::Tar> has been upgraded from 1.68 to 1.72
+
+This adds the ptargrep utility for using regular expressions against
+the contents of files in a tar archive.
+
+=item *
+
+C<B> has been upgraded from 1.24 to 1.26.
+
+It no longer crashes when taking apart a C<y///> containing characters
+outside the octet range or compiled in a C<use utf8> scope.
+
+The size of the shared object has been reduced by about 40%, with no
+reduction in functionality.
+
+=item *
+
+C<B::Deparse> has been upgraded from 0.99 to 1.01.
+
+It fixes deparsing of C<our> followed by a variable with funny characters
+(as permitted under the C<utf8> pragma)
+L<[perl #33752]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=33752>.
+
+=item *
+
+C<CGI> has been upgraded from 3.49 to 3.50
+
+This provides the following security fixes: the MIME boundary in
+multipart_init is now random and improvements to the handling of
+newlines embedded in header values.
+
+The documentation for param_fetch() has been corrected and clarified.
+
+=item *
+
+C<CPAN> has been upgraded from 1.94_61 to 1.94_62
+
+=item *
+
+C<CPANPLUS> has been upgraded from 0.9007 to 0.9010
+
+Fixes for the SQLite source engine and resolving of issues with the
+testsuite when run under local::lib and/or cpanminus
+
+=item *
+
+C<CPANPLUS::Dist::Build> has been upgraded from 0.48 to 0.50
+
+=item *
+
+C<Data::Dumper> has been upgraded from 2.129 to 2.130_01.
+
+=item *
+
+C<DynaLoader> has been upgraded from 1.10 to 1.11.
+
+It fixes a buffer overflow when passed a very long file name.
+
+=item *
+
+C<ExtUtils::Constant> has been upgraded from 0.22 to 0.23.
+
+The C<AUTOLOAD> helper code generated by C<ExtUtils::Constant::ProxySubs>
+can now C<croak> for missing constants, or generate a complete C<AUTOLOAD>
+subroutine in XS, allowing simplification of many modules that use it.
+(C<Fcntl>, C<File::Glob>, C<GDBM_File>, C<I18N::Langinfo>, C<POSIX>, C<Socket>)
+
+C<ExtUtils::Constant::ProxySubs> can now optionally push the names of all
+constants onto the package's C{@EXPORT_OK}. This has been used to replace
+less space-efficient code in C<B>, helping considerably shrink the size of its
+shared object.
+
+=item *
+
+C<Fcntl> has been upgraded from 1.09 to 1.10.
+
+=item *
+
+C<File::Fetch> has been upgraded from 0.24 to 0.28
+
+C<HTTP::Lite> is now supported for 'http' scheme.
+
+The C<fetch> utility is supported on FreeBSD, NetBSD and
+Dragonfly BSD for the C<http> and C<ftp> schemes.
+
+=item *
+
+C<File::Glob> has been upgraded from 1.09 to 1.10.
+
+=item *
+
+C<File::stat> has been upgraded from 1.03 to 1.04.
+
+The C<-x> and C<-X> file test operators now work correctly under the root
+user.
+
+=item *
+
+C<GDBM_File> has been upgraded from 1.11 to 1.12.
+
+This fixes a memory leak when DBM filters are used.
+
+=item *
+
+C<Hash::Util> has been upgraded from 0.09 to 0.10.
+
+=item *
+
+C<Hash::Util::FieldHash> has been upgraded from 1.05 to 1.06.
+
+=item *
+
+C<I18N::Langinfo> has been upgraded from 0.06 to 0.07.
+
+=item *
+
+C<Locale::Maketext> has been upgraded from 1.16 to 1.17.
+
+=item *
+
+C<Math::BigInt> has been upgraded from 1.97 to 1.99_01.
+
+=item *
+
+C<Math::BigRat> has been upgraded from 0.26 to 0.26_01
+
+=item *
+
+C<Math::BigInt::FastCalc> has been upgraded from 0.22 to 0.24_01.
+
+=item *
+
+C<MIME::Base64> has been upgraded from 3.09 to 3.10
+
+Includes new functions to calculate the length of encoded and decoded
+base64 strings.
+
+=item *
+
+C<mro> has been upgraded from 1.04 to 1.05.
+
+=item *
+
+C<NDBM_File> has been upgraded from 1.09 to 1.10.
+
+This fixes a memory leak when DBM filters are used.
+
+=item *
+
+C<ODBM_File> has been upgraded from 1.08 to 1.09.
+
+This fixes a memory leak when DBM filters are used.
+
+=item *
+
+C<Opcode> has been upgraded from 1.16 to 1.17.
+
+=item *
+
+C<parent> has been upgraded from 0.223 to 0.224
+
+=item *
+
+C<Pod::Simple> has been upgraded from 3.14 to 3.15
+
+Includes various fixes to C<HTML> and C<XHTML> handling.
+
+=item *
+
+C<POSIX> has been upgraded from 1.21 to 1.22.
+
+=item *
+
+C<re> has been upgraded from 0.13 to 0.14, for the sake of the new
+C<use re "/flags"> pragma.
+
+=item *
+
+C<Safe> has been upgraded from 2.28 to 2.29.
+
+It adds C<&version::vxs::VCMP> to the default share.
+
+=item *
+
+C<SDBM_File> has been upgraded from 1.07 to 1.08.
+
+=item *
+
+C<SelfLoader> has been upgraded from 1.17 to 1.18.
+
+It now works in taint mode
+L<[perl #72062]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72062>.
+
+=item *
+
+C<Socket> has been upgraded from 1.90 to 1.91.
+
+=item *
+
+C<Storable> has been upgraded from 2.22 to 2.24
+
+Includes performance improvement for overloaded classes.
+
+=item *
+
+C<Sys::Hostname> has been upgraded from 1.13 to 1.14.
+
+=item *
+
+C<Unicode::Collate> has been upgraded from 0.63 to 0.67
+
+This release newly adds locales C<ja> C<ko> and C<zh> and its variants
+( C<zh__big5han>, C<zh__gb2312han>, C<zh__pinyin>, C<zh__stroke> ).
+
+Supported UCA_Version 22 for Unicode 6.0.0.
+
+The following modules have been added:
+
+C<Unicode::Collate::CJK::Big5> for C<zh__big5han> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's big5han ordering.
+
+C<Unicode::Collate::CJK::GB2312> for C<zh__gb2312han> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's gb2312han ordering.
+
+C<Unicode::Collate::CJK::JISX0208> which makes tailoring of 6355 kanji
+(CJK Unified Ideographs) in the JIS X 0208 order.
+
+C<Unicode::Collate::CJK::Korean> which makes tailoring of CJK Unified Ideographs
+in the order of CLDR's Korean ordering.
+
+C<Unicode::Collate::CJK::Pinyin> for C<zh__pinyin> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's pinyin ordering.
+
+C<Unicode::Collate::CJK::Stroke> for C<zh__stroke> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's stroke ordering.
+
+=back
+
+=head1 Documentation
+
+L<perlvar> reorders the variables and groups them by topic. Each variable
+introduced after Perl 5.000 notes the first version in which it is
+available. L<perlvar> also has a new section for deprecated variables to
+note when they were removed.
+
+=head2 New Documentation
+
+=head3 L<perlpodstyle>
+
+New style guide for POD documentation,
+split mostly from the NOTES section of the pod2man man page.
+
+( This was added to C<v5.13.6> but was not documented with that release ).
+
+=head2 Changes to Existing Documentation
+
+=over
+
+=item *
+
+Array and hash slices in scalar context are now documented in L<perldata>.
+
+=item *
+
+L<perlform> and L<perllocale> have been corrected to state that
+C<use locale> affects formats.
+
+=back
+
+=head1 Diagnostics
+
+=head2 New Diagnostics
+
+=over 4
+
+=item *
+
+"Using !~ with %s doesn't make sense": This message was actually added in
+5.13.2, but was omitted from perldelta. It now applies also to the C<y///>
+operator, and has been documented.
+
+=back
+
+=head1 Utility Changes
+
+=head3 L<ptargrep>
+
+=over 4
+
+=item *
+
+L<ptargrep> is a utility to apply pattern matching to the contents of files
+in a tar archive. It comes with C<Archive::Tar>.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+The new F<t/mro/isa_aliases.t> has been added, which tests that
+C<*Foo::ISA = *Bar::ISA> works properly.
+
+=item *
+
+F<t/mro/isarev.t> has been added, which tests that C<PL_isarev> (accessible
+at the Perl level via C<mro::get_isarev>) is updated properly.
+
+=item *
+
+F<t/run/switchd-78586.t> has been added, which tests that
+L<[perl #78586]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78586>
+has been fixed (related to line numbers in the debugger).
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Windows
+
+Directory handles are now properly cloned when threads are created. In perl
+5.13.6, child threads simply stopped inheriting directory handles. In
+previous versions, threads would share handles, resulting in crashes.
+
+Support for building with Visual C++ 2010 is now underway, but is not yet
+complete. See F<README.win32> for more details.
+
+=item VMS
+
+Record-oriented files (record format variable or variable with fixed control)
+opened for write by the perlio layer will now be line buffered to prevent the
+introduction of spurious line breaks whenever the perlio buffer fills up.
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+C<lex_start> has been added to the API, but is considered experimental.
+
+=item *
+
+A new C<parse_block> function has been added to the API
+L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
+
+=item *
+
+A new, experimental API has been added for accessing the internal
+structure that Perl uses for C<%^H>. See the functions beginning with
+C<cophh_> in L<perlapi>.
+
+=item *
+
+A stash can now have a list of effective names in addition to its usual
+name. The first effective name can be accessed via the C<HvENAME> macro,
+which is now the recommended name to use in MRO linearisations (C<HvNAME>
+being a fallback if there is no C<HvENAME>).
+
+These names are added and deleted via C<hv_ename_add> and
+C<hv_ename_delete>. These two functions are I<not> part of the API.
+
+=item *
+
+The way the parser handles labels has been cleaned up and refactored. As a
+result, the C<newFOROP()> constructor function no longer takes a parameter
+stating what label is to go in the state op.
+
+=item *
+
+The C<newWHILEOP()> and C<newFOROP()> functions no longer accept a line
+number as a parameter.
+
+=item *
+
+A new C<parse_barestmt()> function has been added, for parsing a statement
+without a label.
+
+=item *
+
+A new C<parse_label()> function has been added, that parses a statement
+label, separate from statements.
+
+=item *
+
+The C<CvSTASH()> macro can now only be used as an rvalue. C<CvSTASH_set()>
+has been added to replace assignment to C<CvSTASH()>. This is to ensure
+that backreferences are handled properly. These macros are not part of the
+API.
+
+=item *
+
+The C<op_scope()> and C<op_lvalue()> functions have been added to the API,
+but are considered experimental.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+The C<parse_stmt> C function added in earlier in the 5.13.x series has been
+fixed to work with statements ending with C<}>
+L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
+
+=item *
+
+The C<parse_fullstmt> C function added in 5.13.5 has been fixed to work
+when called while an expression is being parsed.
+
+=item *
+
+Characters in the Latin-1 non-ASCII range (0x80 to 0xFF) used not to match
+themselves if the string happened to be UTF8-encoded internally, the
+regular expression was not, and the character in the regular expression was
+inside a repeated group (e.g.,
+C<Encode::decode_utf8("\303\200") =~ /(\xc0)+/>)
+L<[perl #78464]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78464>.
+
+=item *
+
+The C<(?d)> regular expression construct now overrides a previous C<(?u)>
+or C<use feature "unicode_string">
+L<[perl #78508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78508>.
+
+=item *
+
+A memory leak in C<do "file">, introduced in perl 5.13.6, has been fixed
+L<[perl #78488]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78488>.
+
+=item *
+
+Various bugs related to typeglob dereferencing have been fixed. See
+L</Dereferencing typeglobs>, above.
+
+=item *
+
+The C<SvPVbyte> function available to XS modules now calls magic before
+downgrading the SV, to avoid warnings about wide characters
+L<[perl #72398]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72398>.
+
+=item *
+
+The C<=> operator used to ignore magic (e.g., tie methods) on its
+right-hand side if the scalar happened to hold a typeglob. This could
+happen if a typeglob was the last thing returned from or assigned to a tied
+scalar
+L<[perl #77498]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77498>.
+
+=item *
+
+C<sprintf> was ignoring locales when called with constant arguments
+L<[perl #78632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78632>.
+
+=item *
+
+A non-ASCII character in the Latin-1 range could match both a Posix
+class, such as C<[[:alnum:]]>, and its inverse C<[[:^alnum:]]>. This is
+now fixed for regular expressions compiled under the C<"u"> modifier.
+See L</C<use feature "unicode_strings"> now applies to more regex matching>.
+L<[perl #18281]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=18281>.
+
+=item *
+
+Concatenating long strings under C<use encoding> no longer causes perl to
+crash
+L<[perl #78674]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78674>.
+
+=item *
+
+Typeglob assignments would crash if the glob's stash no longer existed, so
+long as the glob assigned to was named 'ISA' or the glob on either side of
+the assignment contained a subroutine.
+
+=item *
+
+Calling C<< ->import >> on a class lacking an import method could corrupt
+the stack, resulting in strange behaviour. For instance,
+
+ push @a, "foo", $b = bar->import;
+
+would assign 'foo' to C<$b>
+L<[perl #63790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63790>.
+
+=item *
+
+Creating an alias to a package when that package had been detached from the
+symbol table would result in corrupted isa caches
+L<[perl #77358]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77358>.
+
+=item *
+
+C<.=> followed by C<< <> >> or C<readline> would leak memory if C<$/>
+contained characters beyond the octet range and the scalar assigned to
+happened to be encoded as UTF8 internally
+L<[perl #72246]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72246>.
+
+=item *
+
+The C<recv> function could crash when called with the MSG_TRUNC flag
+L<[perl #75082]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75082>.
+
+=item *
+
+Evaluating a simple glob (like C<*a>) was calling get-magic on the glob,
+even when its contents were not being used
+L<[perl #78580]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78580>.
+
+This bug was introduced in 5.13.2 and did not affect earlier perl versions.
+
+=item *
+
+Matching a Unicode character against an alternation containing characters
+that happened to match continuation bytes in the former's UTF8
+representation (C<qq{\x{30ab}} =~ /\xab|\xa9/>) would cause erroneous
+warnings
+L<[perl #70998]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=70998>.
+
+=item *
+
+C<s///r> (added in 5.13.2) no longer leaks.
+
+=item *
+
+The trie optimisation was not taking empty groups into account, preventing
+'foo' from matching C</\A(?:(?:)foo|bar|zot)\z/>
+L<[perl #78356]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78356>.
+
+=item *
+
+A pattern containing a C<+> inside a lookahead would sometimes cause an
+incorrect match failure in a global match (e.g., C</(?=(\S+))/g>)
+L<[perl #68564]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68564>.
+
+=item *
+
+Iterating with C<foreach> over an array returned by an lvalue sub now works
+L<[perl #23790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=23790>.
+
+=item *
+
+C<$@> is now localised during calls to C<binmode> to prevent action at a
+distance
+L<[perl #78844]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78844>.
+
+=item *
+
+C<PL_isarev>, which is accessible to Perl via C<mro::get_isarev> is now
+updated properly when packages are deleted or removed from the C<@ISA> of
+other classes. This allows many packages to be created and deleted without
+causing a memory leak
+L<[perl #75176]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75176>.
+
+=item *
+
+C<undef *Foo::> and C<undef *Foo::ISA> and C<delete $package::{ISA}>
+used not to update the internal isa caches if the
+stash or C<@ISA> array had a reference elsewhere. In
+fact, C<undef *Foo::ISA> would stop a new C<@Foo::ISA> array from updating
+caches.
+
+=item *
+
+C<@ISA> arrays can now be shared between classes via
+C<*Foo::ISA = \@Bar::ISA> or C<*Foo::ISA = *Bar::ISA>
+L<[perl #77238]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77238>.
+
+=item *
+
+The parser no longer hangs when encountering certain Unicode characters,
+such as U+387
+L<[perl #74022]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=74022>.
+
+=item *
+
+C<formline> no longer crashes when passed a tainted format picture. It also
+taints C<$^A> now if its arguments are tainted
+L<[perl #79138]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79138>.
+
+=item *
+
+A signal handler called within a signal handler could cause leaks or
+double-frees. Now fixed.
+L<[perl #76248]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76248>.
+
+=item *
+
+When trying to report C<Use of uninitialized value $Foo::BAR>, crashes could
+occur if the GLOB of the global variable causing the warning has been detached
+from its original stash by, for example C<delete $::{'Foo::'}>. This has been
+fixed by disabling the reporting of variable names in the warning in those
+cases.
+
+=back
+
+=head1 Obituary
+
+Randy Kobes, creator of the kobesearch alternative to search.cpan.org and
+contributor/maintainer to several core Perl toolchain modules, passed away
+on September 18, 2010 after a battle with lung cancer. His contributions
+to the Perl community will be missed.
+
+=head1 Acknowledgements
+
+Perl 5.13.7 represents approximately one month of development since Perl 5.13.6
+and contains 73100 lines of changes across 518 files from 39 authors and committers:
+
+Abhijit Menon-Sen, Abigail, Ben Morrow, Chas. J. Owens IV, Chris 'BinGOs' Williams, Craig A. Berry,
+David Golden, David Mitchell, Father Chrysostomos, Fingle Nark, Florian Ragwitz, George Greer,
+Grant McLean, H.Merijn Brand, Ian Goodacre, Jan Dubois, Jerry D. Hedden, Jesse Vincent, Karl Williamson,
+Lubomir Rintel, Marty Pauley, Moritz Lenz, Nicholas Clark, Nicolas Kaiser, Niko Tyni, Peter John Acklam,
+Rafael Garcia-Suarez, Shlomi Fish, Steffen Mueller, Steve Hay, Tatsuhiko Miyagawa, Tim Bunce, Todd Rinaldo,
+Tom Christiansen, Tom Hukins, Tony Cook, Yves Orton, Zefram and brian d foy
+
+Many of the changes included in this version originated in the CPAN modules included in
+Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish.
+
+=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://rt.perl.org/perlbug/ . 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<perlbug>
+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<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut