pod/perl5161delta.pod Perl changes in version 5.16.1
pod/perl5162delta.pod Perl changes in version 5.16.2
pod/perl5163delta.pod Perl changes in version 5.16.3
-pod/perl5170delta.pod Perl changes in version 5.17.0
-pod/perl51710delta.pod Perl changes in version 5.17.10
-pod/perl5171delta.pod Perl changes in version 5.17.1
-pod/perl5172delta.pod Perl changes in version 5.17.2
-pod/perl5173delta.pod Perl changes in version 5.17.3
-pod/perl5174delta.pod Perl changes in version 5.17.4
-pod/perl5175delta.pod Perl changes in version 5.17.5
-pod/perl5176delta.pod Perl changes in version 5.17.6
-pod/perl5177delta.pod Perl changes in version 5.17.7
-pod/perl5178delta.pod Perl changes in version 5.17.8
-pod/perl5179delta.pod Perl changes in version 5.17.9
pod/perl561delta.pod Perl changes in version 5.6.1
pod/perl56delta.pod Perl changes in version 5.6
pod/perl581delta.pod Perl changes in version 5.8.1
Porting/manisort Sort the MANIFEST
Porting/new-perldelta.pl Generate a new perldelta
Porting/newtests-perldelta.pl Generate Perldelta stub for newly added tests
-Porting/perl5180delta.pod Perl changes in version 5.16.0
Porting/perldelta_template.pod Template for creating new perldelta.pod files
Porting/perlhist_calculate.pl Perform calculations to update perlhist
Porting/pod_lib.pl Code for handling generated pods
ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
obj = $(ndt_obj) $(DTRACE_O)
-perltoc_pod_prereqs = extra.pods pod/perl51711delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
+perltoc_pod_prereqs = extra.pods pod/perl5180delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
generated_headers = uudmap.h bitcount.h mg_data.h
pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
$(MINIPERL) $(Icwd) pod/perlmodlib.PL -q
-pod/perl51711delta.pod: pod/perldelta.pod
- $(RMS) pod/perl51711delta.pod
- $(LNS) perldelta.pod pod/perl51711delta.pod
+pod/perl5180delta.pod: pod/perldelta.pod
+ $(RMS) pod/perl5180delta.pod
+ $(LNS) perldelta.pod pod/perl5180delta.pod
extra.pods: $(MINIPERL_EXE)
-@test ! -f extra.pods || rm -f `cat extra.pods`
perlhist Perl history records
perldelta Perl changes since previous version
- perl51710delta Perl changes in version 5.17.10
- perl5179delta Perl changes in version 5.17.9
- perl5178delta Perl changes in version 5.17.8
- perl5177delta Perl changes in version 5.17.7
- perl5176delta Perl changes in version 5.17.6
- perl5175delta Perl changes in version 5.17.5
- perl5174delta Perl changes in version 5.17.4
- perl5173delta Perl changes in version 5.17.3
- perl5172delta Perl changes in version 5.17.2
- perl5171delta Perl changes in version 5.17.1
- perl5170delta Perl changes in version 5.17.0
+ perl5180delta Perl changes in version 5.18.0
perl5161delta Perl changes in version 5.16.1
perl5162delta Perl changes in version 5.16.2
perl5163delta Perl changes in version 5.16.3
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5170delta - what is new for perl v5.17.0
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.16.0 release and
-the 5.17.0 release.
-
-If you are upgrading from an earlier release such as 5.16.0, first read
-L<perl5160delta>, which describes differences between 5.14.0 and
-5.16.0.
-
-=head1 Incompatible Changes
-
-=head2 qw(...) can no longer be used as parentheses
-
-C<qw> lists used to fool the parser into thinking they were always
-surrounded by parentheses. This permitted some surprising constructions
-such as C<foreach $x qw(a b c) {...}>, which should really be written
-C<foreach $x (qw(a b c)) {...}>. These would sometimes get the lexer into
-the wrong state, so they didn't fully work, and the similar C<foreach qw(a
-b c) {...}> that one might expect to be permitted never worked at all.
-
-This side effect of C<qw> has now been abolished. It has been deprecated
-since Perl 5.13.11. It is now necessary to use real parentheses
-everywhere that the grammar calls for them.
-
-=head2 C<\s> in regular expressions now matches a Vertical Tab (experimental)
-
-This is an experiment early in the development cycle to see what
-repercussions arise from this change. It may well be that we decide
-to require a C<"use feature"> to activate this behavior. Because
-of the experimental nature of this, which may be reversed, the
-documentation has not been changed to reflect it.
-
-=head1 Deprecations
-
-=head2 Unescaped braces in regexps
-
-Literal unescaped C<{> in regular expressions is now deprecated. Every
-brace character should be either escaped (by a preceding backslash) or
-part of a construct where it's a metacharacter. This catches likely typos
-such as C</f{,3}/>. It will also allow braces to be used in the future
-to delimit parameters to metacharacters that currently take no parameters.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-Filetest ops manage the stack in a fractionally more efficient manner.
-
-=item *
-
-Globs used in a numeric context are now numerified directly in most cases,
-rather than being numerified via stringification.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<B> has been upgraded from version 1.34 to 1.35.
-
-The C<stashlen> method of COPs has been added. This provides access to an
-internal field added in perl 5.16 under threaded builds [perl #113034].
-
-=item *
-
-L<ExtUtils::ParseXS> has been upgraded from version 3.16 to 3.17.
-
-The generated C code now avoids unnecessarily incrementing
-C<PL_amagic_generation> on Perl versions where it's done automatically
-(or on current Perl where the variable no longer exists).
-
-=item *
-
-L<File::DosGlob> has been upgraded from version 1.06 to 1.07.
-
-Small documentation and comment fixes.
-
-=item *
-
-L<File::Find> has been upgraded from version 1.20 to 1.21.
-
-Individual files may now appear in list of directories to be searched
-[perl #59750].
-
-=item *
-
-L<File::stat> has been upgraded from version 1.05 to 1.06.
-
-C<File::stat> ignores the L<filetest> pragma, and warns when used in
-combination therewith. But it was not warning for C<-r>. This has been
-fixed [perl #111640].
-
-C<-p> now works, and does not return false for pipes [perl #111638].
-
-=item *
-
-L<Hash::Util> has been upgraded from version 0.11 to 0.12.
-
-C<hash_unlocked> and C<hashref_unlocked> now returns true if the hash is
-unlocked, instead of always returning false [perl #112126].
-
-C<hash_unlocked>, C<hashref_unlocked>, C<lock_hash_recurse> and
-C<unlock_hash_recurse> are now exportable [perl #112126].
-
-Two new functions, C<hash_locked> and C<hashref_locked>, have been added.
-Oddly enough, these two functions were already exported, even though they
-did not exist [perl #112126].
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.66 to 2.67.
-
-=item *
-
-L<overload> has been upgraded from version 1.18 to 1.19.
-
-C<no overload> now warns for invalid arguments, just like C<use overload>.
-
-=item *
-
-L<Pod::Functions> has been upgraded from version 1.05 to 1.06.
-
-Typo fix in generated documentation.
-
-=item *
-
-L<Storable> has been upgraded from version 2.34 to 2.35.
-
-Modifying C<$_[0]> within C<STORABLE_freeze> no longer results in crashes
-[perl #112358].
-
-An object whose class implements C<STORABLE_attach> is now thawed only once
-when there are multiple references to it in the structure being thawed
-[perl #111918].
-
-=item *
-
-L<utf8> has been upgraded from version 1.09 to 1.10.
-
-Some documentation has been clarified.
-
-=back
-
-=head2 Removed Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<Version::Requirements> has been removed from the core distribution. It is
-available under a different name: L<CPAN::Meta::Requirements>.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perldata>
-
-=over 4
-
-=item *
-
-Now explicitly documents the behaviour of hash initializer lists that
-contain duplicate keys.
-
-=back
-
-=head3 L<perldiag>
-
-=over 4
-
-=item *
-
-The explanation of symbolic references being prevented by "strict refs"
-now doesn't assume that the reader knows what symbolic references are.
-
-=back
-
-=head3 L<perlfunc>
-
-=over 4
-
-=item *
-
-The return value of C<pipe> is now documented.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=head3 New Warnings
-
-=over 4
-
-=item *
-
-"L<Unescaped left brace in regex is deprecated, passed
-through|perldiag/"Unescaped left brace in regex is deprecated, passed
-through">" is a new deprecation warning. See L</Unescaped braces in
-regexps>.
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-The test suite now has a section for tests that require very large amounts
-of memory. These tests won't run by default; they can be enabled by
-setting the C<PERL_TEST_MEMORY> environment variable to the number of
-gibibytes of memory that may be safely used.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item clang++
-
-There is now a workaround for a compiler bug that prevented compiling
-with clang++ since Perl 5.15.7 [perl #112786].
-
-=item C++
-
-When compiling the Perl core as C++ (which is only semi-supported), the
-mathom functions are now compiled as C<extern "C">, to ensure proper
-binary compatibility. (However, binary compatibility isn't generally
-guaranteed anyway in the situations where this would matter.)
-
-=item VMS
-
-It should now be possible to compile Perl as C++ on VMS.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-The C<CV *> typemap entry now supports C<&{}> overloading and typeglobs,
-just like C<&{...}> [perl #96872].
-
-=item *
-
-The C<SVf_AMAGIC> flag to indicate overloading is now on the stash, not the
-object. It is now set automatically whenever a method or @ISA changes, so
-its meaning has changed, too. It now means "potentially overloaded". When
-the overload table is calculated, the flag is automatically turned off if
-there is no overloading, so there should be no noticeable slowdown.
-
-The staleness of the overload tables is now checked when overload methods
-are invoked, rather than during C<bless>.
-
-"A" magic is gone. The changes to the handling of the C<SVf_AMAGIC> flag
-eliminate the need for it.
-
-C<PL_amagic_generation> has been removed as no longer necessary. For XS
-modules, it is now a macro alias to C<PL_na>.
-
-The fallback overload setting is now stored in a stash entry separate from
-overloadedness itself.
-
-=item *
-
-The character-processing code has been cleaned up in places. The changes
-should be operationally invisible.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-C<goto ''> now looks for an empty label, producing the "goto must have
-label" error message, instead of exiting the program [perl #111794].
-
-=item *
-
-C<goto "\0"> now dies with "Can't find label" instead of "goto must have
-label".
-
-=item *
-
-The C function C<hv_store> used to result in crashes when used on C<%^H>
-[perl #111000].
-
-=item *
-
-A call checker attached to a closure prototype via C<cv_set_call_checker>
-is now copied to closures cloned from it. So C<cv_set_call_checker> now
-works inside an attribute handler for a closure.
-
-=item *
-
-Writing to C<$^N> used to have no effect. Now it croaks with "Modification
-of a read-only value" by default, but that can be overridden by a custom
-regular expression engine, as with C<$1> [perl #112184].
-
-=item *
-
-C<undef> on a control character glob (C<undef *^H>) no longer emits an
-erroneous warning about ambiguity [perl #112456].
-
-=item *
-
-For efficiency's sake, many operators and built-in functions return the
-same scalar each time. Lvalue subroutines and subroutines in the CORE::
-namespace were allowing this implementation detail to leak through.
-C<print &CORE::uc("a"), &CORE::uc("b")> used to print "BB". The same thing
-would happen with an lvalue subroutine returning the return value of C<uc>.
-Now the value is copied in such cases.
-
-=item *
-
-C<method {}> syntax with an empty block or a block returning an empty list
-used to crash or use some random value left on the stack as its invocant.
-Now it produces an error.
-
-=item *
-
-C<vec> now works with extremely large offsets (E<gt>2 GB) [perl #111730].
-
-=item *
-
-Changes to overload settings now take effect immediately, as do changes to
-inheritance that affect overloading. They used to take effect only after
-C<bless>.
-
-Objects that were created before a class had any overloading used to remain
-non-overloaded even if the class gained overloading through C<use overload>
-or @ISA changes, and even after C<bless>. This has been fixed
-[perl #112708].
-
-=item *
-
-Classes with overloading can now inherit fallback values.
-
-=item *
-
-Overloading was not respecting a fallback value of 0 if there were
-overloaded objects on both sides of an assignment operator like C<+=>
-[perl #111856].
-
-=item *
-
-C<pos> now croaks with hash and array arguments, instead of producing
-erroneous warnings.
-
-=item *
-
-C<while(each %h)> now implies C<while(defined($_ = each %h))>, like
-C<readline> and C<readdir>.
-
-=item *
-
-Subs in the CORE:: namespace no longer crash after C<undef *_> when called
-with no argument list (C<&CORE::time> with no parentheses).
-
-=item *
-
-Unicode 6.1 published an incorrect alias for one of the
-Canonical_Combining_Class property's values (which range between 0 and
-254). The alias C<CCC133> should have been C<CCC132>. Perl now
-overrides the data file furnished by Unicode to give the correct value.
-
-=item *
-
-C<unpack> no longer produces the "'/' must follow a numeric type in unpack"
-error when it is the data that are at fault [perl #60204].
-
-=item *
-
-C<join> and C<"@array"> now call FETCH only once on a tied C<$">
-[perl #8931].
-
-=item *
-
-Some subroutine calls generated by compiling core ops affected by a
-C<CORE::GLOBAL> override had op checking performed twice. The checking
-is always idempotent for pure Perl code, but the double checking can
-matter when custom call checkers are involved.
-
-=item *
-
-A race condition used to exist around fork that could cause a signal sent to
-the parent to be handled by both parent and child. Signals are now blocked
-briefly around fork to prevent this from happening [perl #82580].
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.0 represents approximately 1 week of development since Perl 5.16.0
-and contains approximately 17,000 lines of changes across 180 files from 26
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.16.1:
-
-Alan Haggai Alavi, Aristotle Pagaltzis, Brian Fraser, Chris 'BinGOs' Williams,
-Craig A. Berry, Dagfinn Ilmari Mannsåker, Eric Brine, Father Chrysostomos,
-Igor Zaytsev, James E Keenan, Karl Williamson, Leon Timmermans, Lukas Mai,
-Marcus Holland-Moritz, Matthew Horsfall, Moritz Lenz, Rafael Garcia-Suarez,
-Reini Urban, Ricardo Signes, Robin Barker, Ronald J. Kimball, Smylers, Steffen
-Müller, Steve Hay, Tony Cook, Zefram.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl51710delta - what is new for perl v5.17.10
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.9 release and the 5.17.10
-release.
-
-If you are upgrading from an earlier release such as 5.17.8, first read
-L<perl5179delta>, which describes differences between 5.17.8 and 5.17.9.
-
-=head1 Security
-
-=head2 Hash iteration randomized per hash variable
-
-Every hash has its own iteration order, which
-should make it much more difficult to determine what the current hash
-seed is.
-
-=head1 Incompatible Changes
-
-=head2 Explicit rules for variable names and identifiers
-
-Due to an oversight, length-one variable names in 5.16 were completely
-unrestricted, and opened the door to several kinds of insanity. As of
-5.18, these now follow the rules of other identifiers, in addition
-to accepting characters that match the \p{POSIX_Punct} property.
-
-There are no longer any differences in the parsing of identifiers specified
-as $... or ${...}; previously, they were dealt with in different parts of
-the core, and so had slightly different behavior. For instance,
-C<${foo:bar}> was a legal variable name. Since they are now both parsed
-by the same code, that is no longer the case.
-
-[ List each incompatible change as a =head2 entry ]
-
-=head1 Deprecations
-
-=head2 PL_sv_objcount
-
-This interpreter-global variable used to track the total number of
-Perl objects in the interpreter. It is no longer maintained and will
-be removed altogether in Perl 5.20.
-
-=head1 Modules and Pragmata
-
-=head2 New Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<Config::Perl::V> 0.17 has been added to the Perl core.
-
-=back
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<Archive::Extract> has been upgraded from version 0.62 to 0.68.
-
-NOTE: L<Archive::Extract> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Attribute::Handlers> has been upgraded from version 0.93 to 0.94.
-
-=item *
-
-L<B::Lint> has been upgraded from version 1.14 to 1.17.
-
-NOTE: L<B::Lint> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Benchmark> has been upgraded from version 1.14 to 1.15.
-
-This reverts (for now) a change in 1.14 whereby the "too few iterations"
-message became a warning on STDERR instead of being output on STDOUT. It's
-now on STDOUT again.
-
-=item *
-
-L<bignum> has been upgraded from version 0.31 to 0.32.
-
-=item *
-
-L<CPAN> has been upgraded from version 1.99_51 to 2.00.
-
-=item *
-
-L<CPANPLUS> has been upgraded from version 0.9133 to 0.9135.
-
-NOTE: L<CPANPLUS> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<CPANPLUS::Dist::Build> has been upgraded from version 0.68 to 0.70.
-
-NOTE: L<CPANPLUS::Dist::Build> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Data::Dumper> has been upgraded from version 2.141 to 2.142.
-
-=item *
-
-L<DBM_Filter> has been upgraded from version 0.04 to 0.05.
-
-=item *
-
-L<Digest::SHA> has been upgraded from version 5.81 to 5.82.
-
-=item *
-
-L<Encode> has been upgraded from version 2.47 to 2.48.
-
-=item *
-
-L<ExtUtils::Manifest> has been upgraded from version 1.62 to 1.63.
-
-=item *
-
-L<File::CheckTree> has been upgraded from version 4.41 to 4.42.
-
-=item *
-
-L<File::DosGlob> has been upgraded from version 1.09 to 1.10.
-
-=item *
-
-L<File::Temp> has been upgraded from version 0.22 to 0.22_90.
-
-=item *
-
-L<Filter::Simple> has been upgraded from version 0.88 to 0.89.
-
-=item *
-
-L<IO> has been upgraded from version 1.26 to 1.27.
-
-=item *
-
-L<Log::Message> has been upgraded from version 0.04 to 0.06.
-
-NOTE: L<Log::Message> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Log::Message::Simple> has been upgraded from version 0.08 to 0.10.
-
-NOTE: L<Log::Message::Simple> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Math::BigInt> has been upgraded from version 1.998 to 1.999.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.80 to 2.85.
-
-=item *
-
-L<Module::Load> has been upgraded from version 0.22 to 0.24.
-
-=item *
-
-L<Module::Pluggable> has been upgraded from version 4.5 to 4.6.
-
-NOTE: L<Module::Pluggable> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Net::Ping> has been upgraded from version 2.39 to 2.41.
-
-This fixes some test failures on Windows.
-
-=item *
-
-L<Object::Accessor> has been upgraded from version 0.44 to 0.46.
-
-NOTE: L<Object::Accessor> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<overload> has been upgraded from version 1.20 to 1.21.
-
-=item *
-
-L<Perl::OSType> has been upgraded from version 1.002 to 1.003.
-
-This fixes a bug detecting the VOS operating system.
-
-=item *
-
-L<PerlIO::scalar> has been upgraded from version 0.15 to 0.16.
-
-=item *
-
-L<Pod::Checker> has been upgraded from version 1.51 to 1.60.
-
-=item *
-
-L<Pod::Html> has been upgraded from version 1.17 to 1.18.
-
-=item *
-
-L<Pod::Parser> has been upgraded from version 1.51 to 1.60.
-
-=item *
-
-L<Pod::Perldoc> has been upgraded from version 3.17 to 3.19.
-
-=item *
-
-L<Pod::Usage> has been upgraded from version 1.51 to 1.61.
-
-=item *
-
-L<SelfLoader> has been upgraded from version 1.20 to 1.21.
-
-=item *
-
-L<Term::UI> has been upgraded from version 0.32 to 0.34.
-
-NOTE: L<Term::UI> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Test::Harness> has been upgraded from version 3.25_01 to 3.26.
-
-=item *
-
-L<Text::Soundex> has been upgraded from version 3.03_01 to 3.04.
-
-=item *
-
-L<Thread::Queue> has been upgraded from version 3.01 to 3.02.
-
-=item *
-
-L<Unicode::UCD> has been upgraded from version 0.47 to 0.50.
-
-=item *
-
-L<warnings> has been upgraded from version 1.16 to 1.17.
-
-=item *
-
-L<Win32> has been upgraded from version 0.45 to 0.46.
-
-=item *
-
-L<Win32API::File> has been upgraded from version 0.1200 to 0.1201.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlrebackslash/\N>
-
-=over 4
-
-=item *
-
-This feature is no longer experimental.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=head3 New Warnings
-
-=over 4
-
-=item *
-
-L<%c* is deprecated, and will become a syntax error|perldiag/"%c* is deprecated, and will become a syntax error">
-
-Use of C<@*>, C<&*>, C<**> or C<%*> is now deprecated, and will generate a
-compile time warning, enabled by default. In future such code will fail to
-compile with a syntax error. Removing these variables, along with C<$*>,
-will permit future syntax additions.
-
-=back
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-L<$* is no longer supported, and will become a syntax error|perldiag/"$* is no longer supported, and will become a syntax error">
-
-The warning that use of C<$*> and C<$#> is no longer supported is now
-generated for every location that references them. Previously it would fail
-to be generated if another variable using the same typeglob was seen first
-(e.g. C<@*> before C<$*>), and would not be generated for the second and
-subsequent uses. (It's hard to fix the failure to generate warnings at all
-without also generating them every time, and warning every time is
-consistent with the warnings that C<$[> used to generate.)
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-The new copy-on-write mechanism that was introduced in 5.17.7 has now been
-disabled by default, since it was felt that there were too many rough
-edges for the 5.18 release. It is expected that it will be enabled by
-default for 5.20.
-
-This change also re-enables PL_sawampersand by default.
-
-It can be enabled in a perl build by running F<Configure> with
-B<-Accflags=-DPERL_NEW_COPY_ON_WRITE>, and we would encourage XS authors to
-try their code with such an enabled perl, and provide feedback.
-XXX need blurb, e.g. a reference to a new section in perlguts or perlxs
-explaining how XS authors should handle COW strings.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Fix two crashes in the debugger when using Frame=2 or autotrace. These are
-[perl #116769] and [perl #116771].
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.10 represents approximately 4 weeks of development since Perl 5.17.9
-and contains approximately 77,000 lines of changes across 440 files from 42
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.17.10:
-
-Aaron Crane, Aaron Trevena, Andrew Tam, Andy Dougherty, Anton Nikishaev, Brad
-Gilbert, Brian Fraser, Charlie Gonzalez, Chris 'BinGOs' Williams, Craig A.
-Berry, Daniel Dragan, David Golden, David Mitchell, Dominic Hargreaves, Florian
-Ragwitz, George Greer, H.Merijn Brand, James E Keenan, Jasmine Ahuja, John
-Goodyear, John Peacock, Karl Williamson, Kent Fredric, Lukas Mai, Max
-Maischein, Nicholas Clark, Patrik Hägglund, Paul Green, Peter Martini, Rafael
-Garcia-Suarez, Renee Baecker, Ricardo Signes, Ruslan Zakirov, Salvador
-Fandiño, Scott Lanning, Shirakata Kentaro, Steffen Müller, Steve Hay, Steve
-Peters, Sullivan Beck, Tony Cook, Yves Orton.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5171delta - what is new for perl v5.17.1
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.0 release and
-the 5.17.1 release.
-
-If you are upgrading from an earlier release such as 5.16.0, first read
-L<perl5170delta>, which describes differences between 5.16.0 and
-5.17.0.
-
-=head1 Core Enhancements
-
-=head2 More CORE:: subs
-
-Several more built-in functions have been added as subroutines to the
-CORE:: namespace, namely, those non-overridable keywords that can be
-implemented without custom parsers: C<defined>, C<delete>, C<exists>,
-C<glob>, C<pos>, C<protoytpe>, C<scalar>, C<split>, C<study>, and C<undef>.
-
-As some of these have prototypes, C<prototype('CORE::...')> has been
-changed to not make a distinction between overridable and non-overridable
-keywords. This is to make C<prototype('CORE::pos')> consistent with
-C<prototype(&CORE::pos)>.
-
-=head1 Incompatible Changes
-
-=head2 C</(?{})/> and C</(??{})/> have been heavily reworked
-
-The implementation of this feature has been almost completely rewritten.
-Although its main intent is to fix bugs, some behaviors, especially
-related to the scope of lexical variables, will have changed. This is
-described more fully in the L</Selected Bug Fixes> section.
-
-=head2 C<\N{BELL}> now refers to U+1F514 instead of U+0007
-
-Unicode 6.0 reused the name "BELL" for a different code point than it
-traditionally had meant. Since Perl v5.14, use of this name still
-referred to U+0007, but would raise a deprecation warning. Now, "BELL"
-refers to U+1F514, and the name for U+0007 is "ALERT". All the
-functions in L<charnames> have been correspondingly updated.
-
-=head2 Alphanumeric operators must now be separated from the closing
-delimiter of regular expressions
-
-You may no longer write something like:
-
- m/a/and 1
-
-Instead you must write
-
- m/a/ and 1
-
-with whitespace separating the operator from the closing delimiter of
-the regular expression. Not having whitespace has resulted in a
-deprecation warning since Perl v5.14.0.
-
-=head2 C<require> dies for unreadable files
-
-When C<require> encounters an unreadable file, it now dies. It used to
-ignore the file and continue searching the directories in @INC
-[perl #113422].
-
-=head2 Upgrade to the Unicode 6.2 beta
-
-Unicode 6.2 is proposing some changes that may very well break some CPAN
-modules. The timing of this nicely coincides with Perl's being early in the
-release cycle. This commit takes the current beta 6.2, adds the proposed
-changes that aren't yet in it, and subtracts the changes that would affect \X
-processing, as those turn out to have errors, and may have to be rethought.
-Unicode has been notified of these problems.
-
-This will allow us to gather data as to whether or not the proposed changes
-cause us problems. These will be presented to Unicode to aid in their final
-decision as to whether or not to go forward with the changes.
-
-These changes will be replaced by the final version of Unicode 6.2 before
-5.18.0 is released.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-The C<x> repetition operator is now folded to a single constant at compile
-time if called in scalar context with constant operands and no parentheses
-around the left operand.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<Archive::Extract> has been upgraded from version 0.58 to 0.60.
-
-Work around an edge case on Linux with Busybox's unzip.
-
-=item *
-
-L<Archive::Tar> has been upgraded from version 1.82 to 1.88.
-
-ptar now supports the -T option as well as dashless options
-[rt.cpan.org #75473], [rt.cpan.org #75475].
-
-Auto-encode filenames marked as UTF-8 [rt.cpan.org #75474].
-
-Don't use C<tell> on L<IO::Zlib> handles [rt.cpan.org #64339].
-
-Don't try to C<chown> on symlinks.
-
-=item *
-
-L<attributes> has been upgraded from version 0.19 to 0.20.
-
-=item *
-
-L<autodie> has been upgraded from version 2.10 to 2.11.
-
-=item *
-
-L<B> has been upgraded from version 1.35 to 1.36.
-
-C<B::COP::stashlen> has been replaced with C<B::COP::stashoff>.
-
-C<B::COP::stashpv> now supports UTF-8 package names and embedded NULs.
-
-=item *
-
-L<B::Deparse> has been upgraded from version 1.14 to 1.15.
-
-Avoid warning when run under C<perl -w>.
-
-=item *
-
-L<Class::Struct> has been upgraded from version 0.63 to 0.64.
-
-The constructor now respects overridden accessor methods [perl #29230].
-
-=item *
-
-L<Compress::Raw::Bzip2> has been upgraded from version 2.048 to 2.052.
-
-=item *
-
-L<Compress::Raw::Zlib> has been upgraded from version 2.048 to 2.054.
-
-Upgrade bundled zlib to version 1.2.7.
-
-Fix build failures on Irix, Solaris, and Win32, and also when building as C++
-[rt.cpan.org #69985], [rt.cpan.org #77030], [rt.cpan.org #75222].
-
-=item *
-
-L<CPAN::Meta> has been upgraded from version 2.120630 to 2.120921.
-
-=item *
-
-L<CPAN::Meta::Requirements> has been upgraded from version 2.120630 to 2.122.
-
-Treat undef requirements to C<from_string_hash> as 0 (with a warning).
-
-Added C<requirements_for_module> method.
-
-=item *
-
-L<CPAN::Meta::YAML> has been upgraded from version 0.007 to 0.008.
-
-=item *
-
-L<CPANPLUS> has been upgraded from version 0.9121 to 0.9130.
-
-Allow adding F<blib/script> to PATH.
-
-Save the history between invocations of the shell.
-
-Handle multiple C<makemakerargs> and C<makeflags> arguments better.
-
-Use C<File::HomeDir> when available, and provide C<PERL5_CPANPLUS_HOME> to
-override the autodetection.
-
-Always re-fetch F<CHECKSUMS> if C<fetchdir> is set.
-
-=item *
-
-L<Digest::MD5> has been upgraded from version 2.51 to 2.52.
-
-Fix C<Digest::Perl::MD5> OO fallback [rt.cpan.org #66634].
-
-=item *
-
-L<DynaLoader> has been upgraded from version 1.14 to 1.15.
-
-This is due to a minor code change in the XS for the VMS implementation.
-
-=item *
-
-L<ExtUtils::CBuilder> has been upgraded from version 0.280206 to 0.280208.
-
-Manifest files are now correctly embedded for those versions of VC++ which
-make use of them. [perl #111782, #111798].
-
-=item *
-
-L<File::DosGlob> has been upgraded from version 1.07 to 1.08.
-
-=item *
-
-L<File::Fetch> has been upgraded from version 0.32 to 0.34.
-
-=item *
-
-L<File::Spec::Unix> has been upgraded from version 3.39_02 to 3.39_03.
-
-C<abs2rel> could produce incorrect results when given two relative paths or
-the root directory twice [perl #111510].
-
-=item *
-
-L<Filter::Util::Call> has been upgraded from version 1.40 to 1.45.
-
-=item *
-
-L<HTTP::Tiny> has been upgraded from version 0.017 to 0.022.
-
-Add SSL verification features [github #6], [github #9].
-
-Include the final URL in the response hashref.
-
-Add C<local_address> option.
-
-=item *
-
-L<IO> has been upgraded from version 1.25_06 to 1.25_07.
-
-C<sync()> can now be called on read-only file handles [perl #64772].
-
-=item *
-
-L<IPC::Cmd> has been upgraded from version 0.76 to 0.78.
-
-Use C<POSIX::_exit> instead of C<exit> in C<run_forked> [rt.cpan.org #76901].
-
-=item *
-
-L<Memoize> has been upgraded from version 1.02 to 1.03.
-
-Fix the C<MERGE> cache option.
-
-=item *
-
-L<Module::Build> has been upgraded from version 0.39_01 to 0.40.
-
-Fixed bug where modules without C<$VERSION> might have a version of '0' listed
-in 'provides' metadata, which will be rejected by PAUSE.
-
-Fixed bug in PodParser to allow numerals in module names.
-
-Fixed bug where giving arguments twice led to them becoming arrays, resulting
-in install paths like F<ARRAY(0xdeadbeef)/lib/Foo.pm>.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.67 to 2.68.
-
-=item *
-
-L<Module::Load::Conditional> has been upgraded from version 0.46 to 0.50.
-
-Fix use of C<requires> on perls installed to a path with spaces.
-
-=item *
-
-L<Object::Accessor> has been upgraded from version 0.42 to 0.44.
-
-=item *
-
-L<Params::Check> has been upgraded from version 0.32 to 0.36.
-
-=item *
-
-L<Parse::CPAN::Meta> has been upgraded from version 1.4402 to 1.4404.
-
-=item *
-
-L<PerlIO::mmap> has been upgraded from version 0.010 to 0.011.
-
-=item *
-
-L<PerlIO::via::QuotedPrint> has been upgraded from version 0.06 to 0.07.
-
-=item *
-
-L<Pod::Html> has been upgraded from version 1.15_02 to 1.16.
-
-The option C<--libpods> has been reinstated. It is deprecated, and its use
-does nothing other than issue a warning that it is no longer supported.
-
-Since the HTML files generated by pod2html claim to have a UTF-8 charset,
-actually write the files out using UTF-8 [perl #111446].
-
-=item *
-
-L<POSIX> has been upgraded from version 1.30 to 1.31.
-
-=item *
-
-L<re> has been upgraded from version 0.19 to 0.20.
-
-See note about C<op_comp> in the L</Internal Changes> section below.
-
-=item *
-
-L<Safe> has been upgraded from version 2.31_01 to 2.33_01.
-
-Fix interactions with C<Devel::Cover>.
-
-Don't eval code under C<no strict>.
-
-=item *
-
-L<Scalar::Util> has been upgraded from version 1.23 to version 1.25.
-
-Fix an overloading issue with C<sum>.
-
-C<first> and C<reduce> now check the callback first (so C<&first(1)> is
-disallowed).
-
-Fix C<tainted> on magical values [rt.cpan.org #55763].
-
-Fix C<sum> on previously magical values [rt.cpan.org #61118].
-
-Fix reading past the end of a fixed buffer [rt.cpan.org #72700].
-
-=item *
-
-L<Search::Dict> has been upgraded from version 1.04 to 1.07.
-
-No longer require C<stat> on filehandles.
-
-Use C<fc> for casefolding.
-
-=item *
-
-L<Storable> has been upgraded from version 2.35 to 2.36.
-
-=item *
-
-L<Term::ANSIColor> has been upgraded from version 3.01 to 3.02.
-
-Add support for italics.
-
-Improve error handling.
-
-=item *
-
-L<Test::Harness> has been upgraded from version 3.23 to 3.25.
-
-Fix glob semantics on Win32 [rt.cpan.org #49732].
-
-Don't use C<Win32::GetShortPathName> when calling perl [rt.cpan.org #47890].
-
-Ignore -T when reading shebang [rt.cpan.org #64404].
-
-Handle the case where we don't know the wait status of the test more
-gracefully.
-
-Make the test summary 'ok' line overridable so that it can be changed to a
-plugin to make the output of prove idempotent.
-
-Don't run world-writable files.
-
-=item *
-
-L<Unicode::UCD> has been upgraded from version 0.43 to 0.44.
-
-This adds a function L<all_casefolds()|Unicode::UCD/all_casefolds()>
-that returns all the casefolds.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlfaq>
-
-=over 4
-
-=item *
-
-L<perlfaq> has been synchronized with version 5.0150040 from CPAN.
-
-=back
-
-=head3 L<perlcheat>
-
-=over 4
-
-=item *
-
-L<perlcheat> has been reorganized, and a few new sections were added.
-
-=back
-
-=head1 Diagnostics
-
-=head2 Removals of Diagnostics
-
-=over 4
-
-=item *
-
-The "Runaway prototype" warning that occurs in bizarre cases has been
-removed as being unhelpful and inconsistent.
-
-=item *
-
-The "Not a format reference" error has been removed, as the only case in
-which it could be triggered was a bug.
-
-=item *
-
-The "Unable to create sub named %s" error has been removed for the same
-reason.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Win32
-
-C<link> on Win32 now attempts to set C<$!> to more appropriate values
-based on the Win32 API error code. [perl #112272]
-
-Perl no longer mangles the environment block, e.g. when launching a new
-sub-process, when the environment contains non-ASCII characters. Known
-problems still remain, however, when the environment contains characters
-outside of the current ANSI codepage (e.g. see the item about Unicode in
-C<%ENV> in L<http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/todo.pod>).
-[perl #113536]
-
-=item VMS
-
-All C header files from the top-level directory of the distribution are now
-installed on VMS, providing consistency with a long-standing practice on other
-platforms. Previously only a subset were installed, which broke non-core
-extension builds for extensions that depended on the missing include files.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-The C<study> function was made a no-op in 5.16. It was simply disabled via
-a C<return> statement; the code was left in place. Now the code supporting
-what C<study> used to do has been removed.
-
-=item *
-
-Under threaded perls, there is no longer a separate PV allocated for every
-COP to store its package name (C<< cop->stashpv >>). Instead, there is an
-offset (C<< cop->stashoff >>) into the new C<PL_stashpad> array, which
-holds stash pointers.
-
-=item *
-
-In the pluggable regex API, the C<regexp_engine> struct has acquired a new
-field C<op_comp>, which is currently just for perl's internal use, and
-should be initialised to NULL by other regex plugin modules.
-
-=item *
-
-A new function C<alloccoptash> has been added to the API, but is considered
-experimental. See L<perlapi>.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-The implementation of code blocks in regular expressions, such as C<(?{})>
-and C<(??{})>, has been heavily reworked to eliminate a whole slew of bugs.
-The main user-visible changes are:
-
-=over 4
-
-=item *
-
-Code blocks within patterns are now parsed in the same pass as the
-surrounding code; in particular it is no longer necessary to have balanced
-braces: this now works:
-
- /(?{ $x='{' })/
-
-This means that this error message is longer generated:
-
- Sequence (?{...}) not terminated or not {}-balanced in regex
-
-but a new error may be seen:
-
- Sequence (?{...}) not terminated with ')'
-
-In addition, literal code blocks within run-time patterns are only
-compiled once, at perl compile-time:
-
- for my $p (...) {
- # this 'FOO' block of code is compiled once,
- # at the same time as the surrounding 'for' loop
- /$p{(?{FOO;})/;
- }
-
-=item *
-
-Lexical variables are now sane as regards scope, recursion and closure
-behavior. In particular, C</A(?{B})C/> behaves (from a closure viewpoint)
-exactly like C</A/ && do { B } && /C/>, while C<qr/A(?{B})C/> is like
-C<sub {/A/ && do { B } && /C/}>. So this code now works how you might
-expect, creating three regexes that match 0, 1, and 2:
-
- for my $i (0..2) {
- push @r, qr/^(??{$i})$/;
- }
- "1" =~ $r[1]; # matches
-
-=item *
-
-The C<use re 'eval'> pragma is now only required for code blocks defined
-at runtime; in particular in the following, the text of the C<$r> pattern is
-still interpolated into the new pattern and recompiled, but the individual
-compiled code-blocks within C<$r> are reused rather than being recompiled,
-and C<use re 'eval'> isn't needed any more:
-
- my $r = qr/abc(?{....})def/;
- /xyz$r/;
-
-=item *
-
-Flow control operators no longer crash. Each code block runs in a new
-dynamic scope, so C<next> etc. will not see
-any enclosing loops. C<return> returns a value
-from the code block, not from any enclosing subroutine.
-
-=item *
-
-Perl normally caches the compilation of run-time patterns, and doesn't
-recompile if the pattern hasn't changed, but this is now disabled if
-required for the correct behavior of closures. For example:
-
- my $code = '(??{$x})';
- for my $x (1..3) {
- # recompile to see fresh value of $x each time
- $x =~ /$code/;
- }
-
-
-=item *
-
-The C</msix> and C<(?msix)> etc. flags are now propagated into the return
-value from C<(??{})>; this now works:
-
- "AB" =~ /a(??{'b'})/i;
-
-=item *
-
-Warnings and errors will appear to come from the surrounding code (or for
-run-time code blocks, from an eval) rather than from an C<re_eval>:
-
- use re 'eval'; $c = '(?{ warn "foo" })'; /$c/;
- /(?{ warn "foo" })/;
-
-formerly gave:
-
- foo at (re_eval 1) line 1.
- foo at (re_eval 2) line 1.
-
-and now gives:
-
- foo at (eval 1) line 1.
- foo at /some/prog line 2.
-
-=back
-
-=item *
-
-Perl now works as well as can be expected on all releases of Unicode so
-far. In v5.16, it worked on Unicodes 6.0 and 6.1, but there were
-various bugs for earlier releases; the older the release the more
-problems.
-
-=item *
-
-C<vec> no longer produces "uninitialized" warnings in lvalue context
-[perl #9423].
-
-=item *
-
-An optimization involving fixed strings in regular expressions could cause
-a severe performance penalty in edge cases. This has been fixed
-[perl #76546].
-
-=item *
-
-In certain cases, including empty subpatterns within a regular expression (such
-as C<(?:)> or C<(?:|)>) could disable some optimizations. This has been fixed.
-
-=item *
-
-The "Can't find an opnumber" message that C<prototype> produces when passed
-a string like "CORE::nonexistent_keyword" now passes UTF-8 and embedded
-NULs through unchanged [perl #97478].
-
-=item *
-
-C<prototype> now treats magical variables like C<$1> the same way as
-non-magical variables when checking for the CORE:: prefix, instead of
-treating them as subroutine names.
-
-=item *
-
-Under threaded perls, a runtime code block in a regular expression could
-corrupt the package name stored in the op tree, resulting in bad reads
-in C<caller>, and possibly crashes [perl #113060].
-
-=item *
-
-Referencing a closure prototype (C<\&{$_[1]}> in an attribute handler for a
-closure) no longer results in a copy of the subroutine (or assertion
-failures on debugging builds).
-
-=item *
-
-C<eval '__PACKAGE__'> now returns the right answer on threaded builds if
-the current package has been assigned over (as in
-C<*ThisPackage:: = *ThatPackage::>) [perl #78742].
-
-=item *
-
-If a package is deleted by code that it calls, it is possible for C<caller>
-to see a stack frame belonging to that deleted package. C<caller> could
-crash if the stash's memory address was reused for a scalar and a
-substitution was performed on the same scalar [perl #113486].
-
-=item *
-
-C<UNIVERSAL::can> no longer treats its first argument differently
-depending on whether it is a string or number internally.
-
-=item *
-
-C<open> with C<< <& >> for the mode checks to see whether the third argument is
-a number, in determining whether to treat it as a file descriptor or a handle
-name. Magical variables like C<$1> were always failing the numeric check and
-being treated as handle names.
-
-=item *
-
-C<warn>'s handling of magical variables (C<$1>, ties) has undergone several
-fixes. C<FETCH> is only called once now on a tied argument or a tied C<$@>
-[perl #97480]. Tied variables returning objects that stringify as "" are
-no longer ignored. A tied C<$@> that happened to return a reference the
-I<previous> time it was used is no longer ignored.
-
-=item *
-
-C<warn ""> now treats C<$@> with a number in it the same way, regardless of
-whether it happened via C<$@=3> or C<$@="3">. It used to ignore the
-former. Now it appends "\t...caught", as it has always done with
-C<$@="3">.
-
-=item *
-
-Numeric operators on magical variables (e.g., S<C<$1 + 1>>) used to use
-floating point operations even where integer operations were more appropriate,
-resulting in loss of accuracy on 64-bit platforms [perl #109542].
-
-=item *
-
-Unary negation no longer treats a string as a number if the string happened
-to be used as a number at some point. So, if C<$x> contains the string "dogs",
-C<-$x> returns "-dogs" even if C<$y=0+$x> has happened at some point.
-
-=item *
-
-In Perl 5.14, C<-'-10'> was fixed to return "10", not "+10". But magical
-variables (C<$1>, ties) were not fixed till now [perl #57706].
-
-=item *
-
-Unary negation now treats strings consistently, regardless of the internal
-C<UTF8> flag.
-
-=item *
-
-A regression introduced in Perl v5.16.0 involving
-C<tr/I<SEARCHLIST>/I<REPLACEMENTLIST>/> has been fixed. Only the first
-instance is supposed to be meaningful if a character appears more than
-once in C<I<SEARCHLIST>>. Under some circumstances, the final instance
-was overriding all earlier ones. [perl #113584]
-
-=item *
-
-Regular expressions like C<qr/\87/> previously silently inserted a NUL
-character, thus matching as if it had been written C<qr/\00087/>. Now it
-matches as if it had been written as C<qr/87/>, with a message that the
-sequence C<"\8"> is unrecognized.
-
-=item *
-
-C<__SUB__> now works in special blocks (C<BEGIN>, C<END>, etc.).
-
-=item *
-
-Thread creation on Windows could theoretically result in a crash if done
-inside a C<BEGIN> block. It still does not work properly, but it no longer
-crashes [perl #111610].
-
-=item *
-
-C<\&{''}> (with the empty string) now autovivifies a stub like any other
-sub name, and no longer produces the "Unable to create sub" error
-[perl #94476].
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
-=item *
-
-On VMS, L<Module::Build> still fails its test suite.
-
-=item *
-
-On Win32, several tests fail intermittently, and may hang unless STDERR is
-redirected.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.1 represents approximately 4 weeks of development since Perl 5.17.0
-and contains approximately 37,000 lines of changes across 710 files from 35
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.17.1:
-
-?, Andy Dougherty, Aristotle Pagaltzis, Breno G. de Oliveira, Brian Fraser,
-Chris 'BinGOs' Williams, Craig A. Berry, David Mitchell, Dominic Hargreaves,
-Evan Miller, Father Chrysostomos, Florian Ragwitz, H.Merijn Brand, Herbert
-Breunung, Hugo van der Sanden, Jesse Luehrs, Karl Williamson, Karthik
-Rajagopalan, Lukas Mai, Martin Hasch, Michael Schroeder, Nicholas Clark, Paul
-Johnson, Reini Urban, Renee Baecker, Rhesa Rozendaal, Ricardo Signes, Shlomi
-Fish, Steve Hay, Steve Peters, Sullivan Beck, Tony Cook, Volker Schatz, Yves
-Orton, Zefram.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5172delta - what is new for perl v5.17.2
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.1 release and
-the 5.17.2 release.
-
-If you are upgrading from an earlier release such as 5.17.0, first read
-L<perl5171delta>, which describes differences between 5.17.0 and
-5.17.1.
-
-=head1 Core Enhancements
-
-=head2 C<kill> with negative signal names
-
-C<kill> has always allowed a negative signal number, which kills the
-process group instead of a single process. It has also allowed signal
-names. But it did not behave consistently, because negative signal names
-were treated as 0. Now negative signals names like C<-INT> are supported
-and treated the same way as -2 [perl #112990].
-
-=head2 C<pack> is now constant folded.
-
-C<pack> with constant arguments is now constant folded in most cases
-[perl #113470].
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<File::stat> has been upgraded from version 1.06 to 1.07.
-
-Previously C<File::stat>'s overloaded C<-x> and C<-X> operators did not give
-the correct results for directories or executable files when running as
-root. They had been treating executable permissions for root just like for
-any other user, performing group membership tests I<etc> for files not owned
-by root. They now follow the correct Unix behaviour - for a directory they
-are always true, and for a file if any of the three execute permission bits
-are set then they report that root can execute the file. Perl's builtin
-C<-x> and C<-X> operators have always been correct.
-
-=item *
-
-L<Tie::StdHandle> has been upgraded from version 4.2 to 4.3.
-
-C<READ> now respects the offset argument to C<read> [perl #112826].
-
-=item *
-
-L<IO> has been upgraded from version 1.25_07 to 1.25_08.
-
-L<IO::Socket> tries harder to cache or otherwise fetch socket
-information.
-
-=item *
-
-L<Storable> has been upgraded from version 2.36 to 2.37.
-
-Restricted hashes were not always thawed correctly [perl #73972].
-
-Storable would croak when freezing a blessed REF object with a
-C<STORABLE_freeze()> method [perl #113880].
-
-=item *
-
-L<Socket> has been upgraded from version 2.001 to 2.002.
-
-=item *
-
-L<autodie> has been upgraded from version 2.11 to 2.12.
-
-C<autodie> now plays nicely with the 'open' pragma.
-
-=item *
-
-L<File::Fetch> has been upgraded from version 0.34 to 0.36.
-
-Added the 'file_default' option for URLs that do not have a file
-component.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.68 to 2.69.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlfunc>
-
-=over 4
-
-=item *
-
-Clarified documentation of C<our>.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=head3 New Errors
-
-=over 4
-
-=item *
-
-L<Group name must start with a non-digit word character in regex; marked by <-- HERE in mE<sol>%sE<sol>|perldiag/"Group name must start with a non-digit word character in regex; marked by <-- HERE in m/%s/">
-
-This error has been added for C<(?&0)>, which is invalid. It used to
-produce an incomprehensible error message [perl #101666].
-
-=item *
-
-L<Can't use an undefined value as a subroutine reference|perldiag/"Can't use an undefined value as %s reference">
-
-Calling an undefined value as a subroutine now produces this error message.
-It used to, but was accidentally disabled, first in Perl 5.004 for
-non-magical variables, and then in Perl 5.14 for magical (e.g., tied)
-variables. It has now been restored. In the mean time, undef was treated
-as an empty string [perl #113576].
-
-=back
-
-=head3 New Warnings
-
-=over 4
-
-=item *
-
-"L<Invalid negative number (%s) in chr|perldiag/"Invalid negative number (%s) in chr">"
-
-C<chr()> now warns when passed a negative value [perl #83048].
-
-=item *
-
-"L<Integer overflow in srand|perldiag/"Integer overflow in srand">"
-
-C<srand()> now warns when passed a value that doesn't fit in a C<UV> (since the
-value will be truncated rather than overflowing) [perl #40605].
-
-=item *
-
-"L<-i used with no filenames on the command line, reading from STDIN|perldiag/"-i used with no filenames on the command line, reading from STDIN">"
-
-Running perl with the C<-i> flag now warns if no input files are provided on
-the command line [perl #113410].
-
-=back
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-The 'Can't use "my %s" in sort comparison' error has been downgraded to a
-warning, '"my %s" used in sort comparison' (with 'state' instead of 'my'
-for state variables). In addition, the heuristics for guessing whether
-lexical $a or $b has been misused have been improved to generate fewer
-false positives. Lexical $a and $b are no longer disallowed if they are
-outside the sort block. Also, a named unary or list operator inside the
-sort block no longer causes the $a or $b to be ignored [perl #86136].
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-Building perl with some Windows compilers used to fail due to a problem
-with miniperl's C<glob> operator (which uses the C<perlglob> program)
-deleting the PATH environment variable [perl #113798].
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item VMS
-
-Quotes are now removed from the command verb (but not the parameters) for commands
-spawned via C<system>, backticks, or a piped C<open>. Previously, quotes on the verb
-were passed through to DCL, which would fail to recognize the command. Also, if the
-verb is actually a path to an image or command procedure on an ODS-5 volume, quoting it
-now allows the path to contain spaces.
-
-=item AIX
-
-Configure now always adds C<-qlanglvl=extc99> to the CC flags on AIX when
-using xlC. This will make it easier to compile a number of XS-based modules
-that assume C99 [perl #113778].
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-Perl used to implement get magic in a way that would sometimes hide bugs in
-code could call mg_get() too many times on magical values. This hiding of
-errors no longer occurs, so long-standing bugs may become visible now. If
-you see magic-related errors in XS code, check to make sure it, together
-with the Perl API functions it uses, calls mg_get() only once on SvGMAGICAL()
-values.
-
-=item *
-
-OP allocation for CVs now uses a slab allocator. This simplifies
-memory management for OPs allocated to a CV, so cleaning up after a
-compilation error is simpler and safer [perl #111462][perl #112312].
-
-=item *
-
-PERL_DEBUG_READONLY_OPS has been rewritten to work with the new slab
-allocator, allowing it to catch more violations than before.
-
-=item *
-
-The old slab allocator for ops, which was only enabled for PERL_IMPLICIT_SYS and PERL_DEBUG_READONLY_OPS, has been retired.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-A regression introduced in v5.14.0 has been fixed, in which some calls
-to the C<re> module would clobber C<$_> [perl #113750].
-
-=item *
-
-C<do FILE> now always either sets or clears C<$@>, even when the file can't be
-read. This ensures that testing C<$@> first (as recommended by the
-documentation) always returns the correct result.
-
-=item *
-
-The array iterator used for the C<each @array> construct is now correctly
-reset when C<@array> is cleared (RT #75596). This happens for example when the
-array is globally assigned to, as in C<@array = (...)>, but not when its
-B<values> are assigned to. In terms of the XS API, it means that C<av_clear()>
-will now reset the iterator.
-
-This mirrors the behaviour of the hash iterator when the hash is cleared.
-
-=item *
-
-C<< $class->can >>, C<< $class->isa >>, and C<< $class->DOES >> now return
-correct results, regardless of whether that package referred to by C<$class>
-exists [perl #47113].
-
-=item *
-
-Arriving signals no longer clear C<$@> [perl #45173].
-
-=item *
-
-Allow C<my ()> declarations with an empty variable list [perl #113554].
-
-=item *
-
-During parsing, subs declared after errors no longer leave stubs
-[perl #113712].
-
-=item *
-
-Closures containing no string evals no longer hang on to their containing
-subroutines, allowing variables closed over by outer subroutines to be
-freed when the outer sub is freed, even if the inner sub still exists
-[perl #89544].
-
-=item *
-
-Duplication of in-memory filehandles by opening with a "<&=" or ">&=" mode
-stopped working properly in 5.16.0. It was causing the new handle to
-reference a different scalar variable. This has been fixed [perl #113764].
-
-=item *
-
-C<qr//> expressions no longer crash with custom regular expression engines
-that do not set C<offs> at regular expression compilation time
-[perl #112962].
-
-=item *
-
-C<delete local> no longer crashes with certain magical arrays and hashes
-[perl #112966].
-
-=item *
-
-C<local> on elements of certain magical arrays and hashes used not to
-arrange to have the element deleted on scope exit, even if the element did
-not exist before C<local>.
-
-=item *
-
-C<scalar(write)> no longer returns multiple items [perl #73690].
-
-=item *
-
-String to floating point conversions no longer misparse certain strings under
-C<use locale> [perl #109318].
-
-=item *
-
-C<@INC> filters that die no longer leak memory [perl #92252].
-
-=item *
-
-The implementations of overloaded operations are now called in the correct
-context. This allows, among other things, being able to properly override
-C<< <> >> [perl #47119].
-
-=item *
-
-Specifying only the C<fallback> key when calling C<use overload> now behaves
-properly [perl #113010].
-
-=item *
-
-C<< sub foo { my $a = 0; while ($a) { ... } } >> and
-C<< sub foo { while (0) { ... } } >> now return the same thing [perl #73618].
-
-=item *
-
-Fixed the debugger C<l> and C<M> commands, and other debugger
-functionality which was broken in 5.17.0 [perl #113918].
-
-=item *
-
-String negation now behaves the same under C<use integer;> as it does
-without [perl #113012].
-
-=item *
-
-C<chr> now returns the Unicode replacement character (U+FFFD) for -1,
-regardless of the internal representation. -1 used to wrap if the argument
-was tied or a string internally.
-
-=item *
-
-Using a C<format> after its enclosing sub was freed could crash as of
-perl 5.12.0, if the format referenced lexical variables from the outer sub.
-
-=item *
-
-Using a C<format> after its enclosing sub was undefined could crash as of
-perl 5.10.0, if the format referenced lexical variables from the outer sub.
-
-=item *
-
-Using a C<format> defined inside a closures, which format references
-lexical variables from outside, never really worked unless the C<write>
-call was directly inside the closure. In 5.10.0 it even started crashing.
-Now the copy of that closure nearest the top of the call stack is used to
-find those variables.
-
-=item *
-
-Formats that close over variables in special blocks no longer crash if a
-stub exists with the same name as the special block before the special
-block is compiled.
-
-=item *
-
-The parser no longer gets confused, treating C<eval foo ()> as a syntax
-error if preceded by C<print;> [perl #16249].
-
-=item *
-
-The return value of C<syscall> is no longer truncated on 64-bit platforms
-[perl #113980].
-
-=item *
-
-Constant folding no longer causes C<print 1 ? FOO : BAR> to print to the
-FOO handle [perl #78064].
-
-=item *
-
-C<do subname> now calls the named subroutine and uses the file name it
-returns, instead of opening a file named "subname".
-
-=item *
-
-Subroutines looked up by rv2cv check hooks (registered by XS modules) are
-now taken into consideration when determining whether C<foo bar> should be
-the sub call C<foo(bar)> or the method call C<< "bar"->foo >>.
-
-=item *
-
-C<CORE::foo::bar> is no longer treated specially, allowing global overrides
-to be called directly via C<CORE::GLOBAL::uc(...)> [perl #113016].
-
-=item *
-
-Calling an undefined sub whose typeglob has been undefined now produces the
-customary "Undefined subroutine called" error, instead of "Not a CODE
-reference".
-
-=item *
-
-Two bugs involving @ISA have been fixed. C<*ISA = *glob_without_array> and
-C<undef *ISA; @{*ISA}> would prevent future modifications to @ISA from
-updating the internal caches used to look up methods. The
-*glob_without_array case was a regression from Perl 5.12.
-
-=item *
-
-Regular expression optimisations sometimes caused C<$> with C</m> to
-produce failed or incorrect matches [perl #114068].
-
-=item *
-
-C<__SUB__> now works in a C<sort> block when the enclosing subroutine is
-predeclared with C<sub foo;> syntax [perl #113710].
-
-=item *
-
-Unicode properties only apply to Unicode code points, which leads to
-some subtleties when regular expressions are matched against
-above-Unicode code points. There is a warning generated to draw your
-attention to this. However, this warning was being generated
-inappropriately in some cases, such as when a program was being parsed.
-Non-Unicode matches such as C<\w> and C<[:word;]> should not generate the
-warning, as their definitions don't limit them to apply to only Unicode
-code points. Now the message is only generated when matching against
-C<\p{}> and C<\P{}>. There remains a bug, [perl #114148], for the very
-few properties in Unicode that match just a single code point. The
-warning is not generated if they are matched against an above-Unicode
-code point.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.2 represents approximately 4 weeks of development since Perl 5.17.1
-and contains approximately 15,000 lines of changes across 320 files from 34
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.17.2:
-
-Aristotle Pagaltzis, Brian Fraser, Chip Salzenberg, Chris 'BinGOs' Williams,
-Colin Kuskie, Craig A. Berry, Daniel Dragan, Daniel Perrett, Darin McBride,
-David Golden, David Mitchell, Dominic Hargreaves, E. Choroba, Eric Brine,
-Father Chrysostomos, François Perrad, H.Merijn Brand, Jan Dubois, Jesse
-Luehrs, Karl Williamson, Lukas Mai, Matthew Horsfall, Nicholas Clark, Oleg
-Nesterov, Reini Urban, Ricardo Signes, Robin Barker, Shirakata Kentaro, Shlomi
-Fish, Steve Hay, Tony Cook, Vincent Pit, Walt Mankowski, Yves Orton.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5173delta - what is new for perl v5.17.3
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.2 release and the 5.17.3
-release.
-
-If you are upgrading from an earlier release such as 5.17.1, first read
-L<perl5172delta>, which describes differences between 5.17.1 and 5.17.2.
-
-=head1 Core Enhancements
-
-=head2 Computed Labels
-
-The loop controls C<next>, C<last> and C<redo>, and the special C<dump>
-operator, now allow arbitrary expressions to be used to compute labels at run
-time. Previously, any argument that was not a constant was treated as the
-empty string.
-
-=head1 Incompatible Changes
-
-=head2 C<$ENV{foo}=undef> deletes value from environ, like C<delete $ENV{foo}>
-
-This facilitates use of C<local()> with C<%ENV> entries. In previous versions
-of Perl, C<undef> was converted to the empty string.
-
-=head2 Defined values stored in environment are forced to byte strings
-
-A value stored in an environment variable has always been stringified. In this
-release, it is converted to be only a byte string. First, it is forced to be a
-only a string. Then if the string is utf8 and the equivalent of
-C<utf8::downgrade()> works, that result is used; otherwise, the equivalent of
-C<utf8::encode()> is used, and a warning is issued about wide characters
-(L</Diagnostics>).
-
-=head2 C<given> now aliases the global C<$_>
-
-Instead of assigning to an implicit lexical C<$_>, C<given> now makes the
-global C<$_> an alias for its argument, just like C<foreach>. However, it
-still uses lexical C<$_> if there is lexical C<$_> in scope (again, just like
-C<foreach>) [perl #114020].
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<B> has been upgraded from version 1.36 to 1.37. All C<CVf_*> and C<GVf_*>
-and more SV-related flag values are now provided as constants in the C<B::>
-namespace and available for export. The default export list has not changed.
-
-=item *
-
-L<B::Concise> has been upgraded from version 0.91 to 0.92. The C<-nobanner>
-option has been fixed, and C<format>s can now be dumped. When passed a sub
-name to dump, it will check also to see whether it is the name of a format. If
-a sub and a format share the same name, it will dump both.
-
-=item *
-
-L<B::Debug> has been upgraded from version 1.17 to 1.18. This adds support
-(experimentally) for C<B::PADLIST>, which will be added in Perl 5.17.4.
-
-=item *
-
-L<B::Deparse> has been upgraded from version 1.15 to 1.16. It now deparses
-loop controls with the correct precedence, and multiple statements in a
-C<format> line are also now deparsed correctly.
-
-=item *
-
-L<CGI> has been upgraded from version 3.59 to 3.60. Unrecognized HTML escape
-sequences are now handled better, problematic trailing newlines are no longer
-inserted after E<lt>formE<gt> tags by C<startform()> or C<start_form()>, and
-bogus "Insecure Dependency" warnings appearing with some versions of perl are
-now worked around.
-
-=item *
-
-L<Compress::Raw::Bzip2> has been upgraded from version 2.05201 to 2.055. The
-misuse of Perl's "magic" API has been fixed.
-
-=item *
-
-L<Compress::Raw::Zlib> has been upgraded from version 2.05401 to 2.056. The
-misuse of Perl's "magic" API has been fixed.
-
-=item *
-
-L<Compress::Zlib> has been upgraded from version 2.052 to 2.055. C<compress()>,
-C<uncompress()>, C<memGzip()> and C<memGunzip()> have been speeded up by making
-parameter validation more efficient.
-
-=item *
-
-L<Data::Dumper> has been upgraded from version 2.135_06 to 2.135_07. It has
-been optimized to only build a seen-scalar hash as necessary, thereby speeding
-up serialization drastically.
-
-=item *
-
-L<Devel::Peek> has been upgraded from version 1.08 to 1.09. The only change
-has been to the test script, to account for changes to some flags in perl's
-internals.
-
-=item *
-
-L<Encode> has been upgraded from version 2.44 to 2.47. The Mac alias x-mac-ce
-has been added, and various bugs have been fixed in Encode::Unicode,
-Encode::UTF7 and Encode::GSM0338.
-
-=item *
-
-L<Module::Build> has been upgraded from version 0.40 to 0.4003. A minor bug
-fix allows markup to be used around the leading "Name" in a POD "abstract"
-line, and some documentation improvements have been made.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.69 to 2.71. Version
-information is now stored as a delta, which greatly reduces the size of the
-F<CoreList.pm> file.
-
-=item *
-
-L<Module::Load::Conditional> has been upgraded from version 0.50 to 0.54.
-Various enhancements include the new use of Module::Metadata.
-
-=item *
-
-L<Module::Metadata> has been upgraded from version 1.000009 to 1.000011. The
-creation of a Module::Metadata object for a typical module file has been sped
-up by about 40%, and some spurious warnings about C<$VERSION>s have been
-suppressed.
-
-=item *
-
-L<Module::Pluggable> has been upgraded from version 4.0 to 4.3. Amongst other
-changes, triggers are now allowed on events, which gives a powerful way to
-modify behaviour.
-
-=item *
-
-L<perlfaq> has been upgraded from version 5.0150040 to 5.0150041. This
-contains a couple of minor corrections and lists one new editor.
-
-=item *
-
-L<Pod::Simple> has been upgraded from version 3.20 to 3.23. Numerous
-improvements have been made, mostly to Pod::Simple::XHTML, which also has a
-compatibility change: the C<codes_in_verbatim> option is now disabled by
-default. See F<cpan/Pod-Simple/ChangeLog> for the full details.
-
-=item *
-
-L<re> has been upgraded from version 0.21 to 0.22. Single character [class]es
-like C</[s]/> or C</[s]/i> are now optimized as if they did not have the
-brackets, i.e. C</s/> or C</s/i>.
-
-=item *
-
-L<Socket> has been upgraded from version 2.002 to 2.004. Constants and
-functions required for IP multicast source group membership have been added.
-
-=item *
-
-L<Storable> has been upgraded from version 2.37 to 2.38. It can now freeze and
-thaw vstrings correctly. This causes a slight incompatible change in the
-storage format, so the format version has increased to 2.9.
-
-=item *
-
-L<Sys::Syslog> has been upgraded from version 0.29 to 0.31. This contains
-several bug fixes relating to C<getservbyname()>, C<setlogsock()>and log levels
-in C<syslog()>, together with fixes for Windows, Haiku-OS and GNU/kFreeBSD.
-See F<cpan/Sys-Syslog/Changes> for the full details.
-
-=item *
-
-L<Term::ReadLine> has been upgraded from version 1.09 to 1.10. This fixes the
-use of the B<cpan> and B<cpanp> shells on Windows in the event that the current
-drive happens to contain a F<\dev\tty> file.
-
-=item *
-
-L<Text::Tabs> and L<Text::Wrap> have been upgraded from version 2009.0305 to
-2012.0818. Support for Unicode combining characters has been added to them
-both.
-
-=item *
-
-L<Time::Local> has been upgraded from version 1.2000 to 1.2300. Seconds values
-greater than 59 but less than 60 no longer cause C<timegm()> and C<timelocal()>
-to croak.
-
-=item *
-
-L<Unicode::UCD> has been upgraded from version 0.44 to 0.45. This has been
-modified slightly for reasons of perl internal use only.
-
-=item *
-
-L<Win32> has been upgraded from version 0.44 to 0.45. New APIs have been added
-for getting and setting the current code page.
-
-=item *
-
-L<Win32CORE> has been upgraded from version 0.02 to 0.03. The use of
-PERL_NO_GET_CONTEXT here has resulted in smaller machine code.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlfunc>, L<perlop>
-
-=over 4
-
-=item *
-
-Loop control verbs (C<dump>, C<goto>, C<next>, C<last> and C<redo>) have always
-had the same precedence as assignment operators, but this was not documented
-until now.
-
-=back
-
-=head3 L<perlvar>
-
-=over 4
-
-=item *
-
-A caveat has been added to the documentation for C<$_> warning against the use
-of lexical C<$_> [perl #114020].
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=head3 New Errors
-
-=over 4
-
-=item *
-
-L<Unterminated delimiter for here document|perldiag/"Unterminated delimiter for here document">
-
-This message now occurs when a here document label has an initial quotation
-mark but the final quotation mark is missing.
-
-This replaces a bogus and misleading error message about not finding the label
-itself [perl #114104].
-
-=item *
-
-L<panic: child pseudo-process was never scheduled|perldiag/"panic: child pseudo-process was never scheduled">
-
-This error is thrown when a child pseudo-process in the ithreads implementation
-on Windows was not scheduled within the time period allowed and therefore was
-not able to initialize properly [perl #88840].
-
-=back
-
-=head3 New Warnings
-
-=over 4
-
-=item *
-
-L<Wide character in setenv|perldiag/"Wide character in %s">
-
-Attempts to put wide characters into environment variables via C<%ENV> now
-provoke this warning.
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-The pager detection in F<Configure> has been improved to allow responses which
-specify options after the program name, e.g. B</usr/bin/less -R>, if the user
-accepts the default value. This helps B<perldoc> when handling ANSI escapes
-[perl #72156].
-
-=back
-
-=head1 Platform Support
-
-=head2 Discontinued Platforms
-
-=over 4
-
-=item UTS Global
-
-Support code relating to UTS global has been removed. UTS was a mainframe
-version of System V created by Amdahl, subsequently sold to UTS Global. The
-port has not been touched since before Perl 5.8.0, and UTS Global is now
-defunct.
-
-=back
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Windows
-
-A new makefile option, USE_64_BIT_INT, has been added to the Windows makefiles.
-Set this to "define" when building a 32-bit perl if you want it to use 64-bit
-integers.
-
-Machine code size reductions, already made to the DLLs of XS modules in Perl
-5.17.2, have now been extended to the perl DLL itself.
-
-Building with VC++ 6.0 was inadvertently broken in Perl 5.17.2 but has now been
-fixed again.
-
-=item VMS
-
-The B<a2p> build has been fixed for the HP C++ compiler on OpenVMS.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-C<\w> now matches the code points U+200C (ZERO WIDTH NON-JOINER) and U+200D
-(ZERO WIDTH JOINER). C<\W> no longer matches these. This change is because
-Unicode corrected their definition of what C<\w> should match.
-
-=item *
-
-C<dump LABEL> no longer leaks its label.
-
-=item *
-
-Constant folding no longer changes the behaviour of functions like C<stat()>
-and C<truncate()> that can take either filenames or handles.
-C<stat 1 ? foo : bar> nows treats its argument as a file name (since it is an
-arbitrary expression), rather than the handle "foo".
-
-=item *
-
-C<truncate FOO, $len> no longer falls back to treating "FOO" as a file name if
-the filehandle has been deleted. This was broken in Perl 5.16.0.
-
-=item *
-
-Subroutine redefinitions after sub-to-glob and glob-to-glob assignments no
-longer cause double frees or panic messages.
-
-=item *
-
-C<s///> now turns vstrings into plain strings when performing a substitution,
-even if the resulting string is the same (C<s/a/a/>).
-
-=item *
-
-Prototype mismatch warnings no longer erroneously treat constant subs as having
-no prototype when they actually have "".
-
-=item *
-
-Constant subroutines and forward declarations no longer prevent prototype
-mismatch warnings from omitting the sub name.
-
-=item *
-
-C<undef> on a subroutine now clears call checkers.
-
-=item *
-
-The C<ref> operator started leaking memory on blessed objects in Perl 5.16.0.
-This has been fixed [perl #114340].
-
-=item *
-
-C<use> no longer tries to parse its arguments as a statement, making
-C<use constant { () };> a syntax error [perl #114222].
-
-=item *
-
-On debugging builds, "uninitialized" warnings inside formats no longer cause
-assertion failures.
-
-=item *
-
-On debugging builds, subroutines nested inside formats no longer cause
-assertion failures [perl #78550].
-
-=item *
-
-Formats and C<use> statements are now permitted inside formats.
-
-=item *
-
-C<print $x> and C<sub { print $x }-E<gt>()> now always produce the same output.
-It was possible for the latter to refuse to close over $x if the variable was
-not active; e.g., if it was defined outside a currently-running named
-subroutine.
-
-=item *
-
-Similarly, C<print $x> and C<print eval '$x'> now produce the same output.
-This also allows "my $x if 0" variables to be seen in the debugger [perl
-#114018].
-
-=item *
-
-Formats called recursively no longer stomp on their own lexical variables, but
-each recursive call has its own set of lexicals.
-
-=item *
-
-Attempting to free an active format or the handle associated with it no longer
-results in a crash.
-
-=item *
-
-Format parsing no longer gets confused by braces, semicolons and low-precedence
-operators. It used to be possible to use braces as format delimiters (instead
-of C<=> and C<.>), but only sometimes. Semicolons and low-precedence operators
-in format argument lines no longer confuse the parser into ignoring the line's
-return value. In format argument lines, braces can now be used for anonymous
-hashes, instead of being treated always as C<do> blocks.
-
-=item *
-
-Formats can now be nested inside code blocks in regular expressions and other
-quoted constructs (C</(?{...})/> and C<qq/${...}/>) [perl #114040].
-
-=item *
-
-Formats are no longer created after compilation errors.
-
-=item *
-
-Some format syntax errors started causing crashes in Perl 5.17.2, but have now
-been fixed.
-
-=item *
-
-Under debugging builds, the B<-DA> command line option started crashing in Perl
-5.16.0. It has been fixed [perl #114368].
-
-=item *
-
-Scope::Escape compatibility, which was broken in Perl 5.17.2, has been restored
-[perl #113872].
-
-=item *
-
-A potential deadlock scenario involving the premature termination of a pseudo-
-forked child in a Windows build with ithreads enabled has been fixed. This
-resolves the common problem of the F<t/op/fork.t> test hanging on Windows [perl
-#88840].
-
-=item *
-
-The microperl build, broken since Perl 5.15.7, has now been restored.
-
-=item *
-
-The code which generates errors from C<require()> could potentially read one or
-two bytes before the start of the filename for filenames less than three bytes
-long and ending C</\.p?\z/>. This has now been fixed. Note that it could
-never have happened with module names given to C<use()> or C<require()> anyway.
-
-=item *
-
-The handling of pathnames of modules given to C<require()> has been made
-thread-safe on VMS.
-
-=item *
-
-The C<re_compile()> API function, the entry point for perl's regex compiler,
-was accidentally changed in Perl 5.17.1 to operate on the current engine. This
-has now been restored to its former core-engine-specific state [perl #114302].
-
-=item *
-
-Perl 5.17.1 introduced a memory leak into the re-use of run-time regexes where
-the pattern hasn't changed (i.e. C</$unchanging/>). This has now been fixed.
-
-=item *
-
-A bug in the compilation of a C</(?{})/> expression which affected the TryCatch
-test suite has been fixed [perl #114242].
-
-=item *
-
-Formats no longer leak. They started leaking in Perl 5.17.2.
-
-=item *
-
-Pod can now be nested in code inside a quoted construct outside of a string
-eval. This used to work only within string evals [perl #114040].
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.3 represents approximately 4 weeks of development since Perl 5.17.2
-and contains approximately 85,000 lines of changes across 470 files from 24
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed
-the improvements that became Perl 5.17.3:
-
-Andy Dougherty, Chip Salzenberg, Chris 'BinGOs' Williams, Craig A. Berry,
-Daniel Dragan, Dave Rolsky, David Leadbeater, David Mitchell, Eric Brine,
-Father Chrysostomos, Goro Fuji, James E Keenan, Jan Dubois, Joaquin Ferrero,
-Karl Williamson, Nicholas Clark, Paul Marquess, Reini Urban, Ricardo Signes,
-Robin Barker, Shirakata Kentaro, Steffen Müller, Steve Hay, Tony Cook.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5174delta - what is new for perl v5.17.4
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.3 release and the 5.17.4
-release.
-
-If you are upgrading from an earlier release such as 5.17.2, first read
-L<perl5173delta>, which describes differences between 5.17.2 and 5.17.3.
-
-=head1 Core Enhancements
-
-=head2 Latest Unicode 6.2 beta is included
-
-This is supposed to be the final data for 6.2, unless glitches are
-found. The earlier experimental 6.2 beta data has been reverted, and
-this used instead. Not all the changes that were proposed for 6.2 and
-that were in the earlier beta versions are actually going into 6.2. In
-particular, there are no changes from 6.1 in the General_Category of any
-characters. 6.2 does revise the C<\X> handling for the REGIONAL
-INDICATOR characters that were added in Unicode 6.0. Perl now for the
-first time fully handles this revision.
-
-=head2 New DTrace probes
-
-The following new DTrace probes have been added:
-
-=over 4
-
-=item C<op-entry>
-
-=item C<loading-file>
-
-=item C<loaded-file>
-
-=back
-
-=head2 C<${^LAST_FH}>
-
-This new variable provides access to the filehandle that was last read.
-This is the handle used by C<$.> and by C<tell> and C<eof> without
-arguments.
-
-=head2 Looser here-doc parsing
-
-Here-doc terminators no longer require a terminating newline character when
-they occur at the end of a file. This was already the case at the end of a
-string eval [perl #65838].
-
-=head2 New mechanism for experimental features
-
-Newly-added experimental features will now require this incantation:
-
- no warnings "experimental:feature_name";
- use feature "feature_name"; # would warn without the prev line
-
-There is a new warnings category, called "experimental", containing
-warnings that the L<feature> pragma emits when enabling experimental
-features.
-
-Newly-added experimental features will also be given special warning IDs,
-which consist of "experimental:" followed by the name of the feature. (The
-plan is to extend this mechanism eventually to all warnings, to allow them
-to be enabled or disabled individually, and not just by category.)
-
-By saying
-
- no warnings "experimental:feature_name";
-
-you are taking responsibility for any breakage that future changes to, or
-removal of, the feature may cause.
-
-=head2 Lexical subroutines
-
-This new feature is still considered experimental. To enable it, use the
-mechanism described above:
-
- use 5.018;
- no warnings "experimental:lexical_subs";
- use feature "lexical_subs";
-
-You can now declare subroutines with C<state sub foo>, C<my sub foo>, and
-C<our sub foo>. (C<state sub> requires that the "state" feature be
-enabled, unless you write it as C<CORE::state sub foo>.)
-
-C<state sub> creates a subroutine visible within the lexical scope in which
-it is declared. The subroutine is shared between calls to the outer sub.
-
-C<my sub> declares a lexical subroutine that is created each time the
-enclosing block is entered. C<state sub> is generally slightly faster than
-C<my sub>.
-
-C<our sub> declares a lexical alias to the package subroutine of the same
-name.
-
-See L<perlsub/Lexical Subroutines>.
-
-=head1 Incompatible Changes
-
-=head2 Here-doc parsing
-
-The body of a here-document inside a quote-like operator now always begins
-on the line after the "<<foo" marker. Previously, it was documented to
-begin on the line following the containing quote-like operator, but that
-was only sometimes the case [perl #114040].
-
-=head2 Stricter parsing of substitution replacement
-
-It is no longer possible to abuse the way the parser parses C<s///e> like
-this:
-
- %_=(_,"Just another ");
- $_="Perl hacker,\n";
- s//_}->{_/e;print
-
-=head2 Interaction of lexical and default warnings
-
-Turning on any lexical warnings used first to disable all default warnings
-if lexical warnings were not already enabled:
-
- $*; # deprecation warning
- use warnings "void";
- $#; # void warning; no deprecation warning
-
-Now, the debugging, deprecated, glob, inplace and malloc warnings
-categories are left on when turning on lexical warnings (unless they are
-turned off by C<no warnings>, of course).
-
-This may cause deprecation warnings to occur in code that used to be free
-of warnings.
-
-Those are the only categories consisting only of default warnings. Default
-warnings in other categories are still disabled by C<use warnings
-"category">, as we do not yet have the infrastructure for controlling
-individual warnings.
-
-=head2 C<state sub> and C<our sub>
-
-Due to an accident of history, C<state sub> and C<our sub> were equivalent
-to a plain C<sub>, so one could even create an anonymous sub with
-C<our sub { ... }>. These are now disallowed outside of the "lexical_subs"
-feature. Under the "lexical_subs" feature they have new meanings described
-in L<perlsub/Lexical Subroutines>.
-
-=head2 C<gv_fetchmeth_*> and SUPER
-
-The various C<gv_fetchmeth_*> XS functions used to treat a package whose
-named ended with ::SUPER specially. A method lookup on the Foo::SUPER
-package would be treated as a SUPER method lookup on the Foo package. This
-is no longer the case. To do a SUPER lookup, pass the Foo stash and the
-GV_SUPER flag.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-Speed up in regular expression matching against Unicode properties. The
-largest gain is for C<\X>, the Unicode "extended grapheme cluster". The
-gain for it is about 35% - 40%. Bracketed character classes, e.g.,
-C<[0-9\x{100}]> containing code points above 255 are also now faster.
-
-=item *
-
-On platforms supporting it, several former macros are now implemented as static
-inline functions. This should speed things up slightly on non-GCC platforms.
-
-=item *
-
-Apply the optimisation of hashes in boolean context, such as in C<if> or C<and>,
-to constructs in non-void context.
-
-=item *
-
-Extend the optimisation of hashes in boolean context to C<scalar(%hash)>,
-C<%hash ? ... : ...>, and C<sub { %hash || ... }>.
-
-=item *
-
-When making a copy of the string being matched against (so that $1, $& et al
-continue to show the correct value even if the original string is subsequently
-modified), only copy that substring of the original string needed for the
-capture variables, rather than copying the whole string.
-
-This is a big win for code like
-
- $&;
- $_ = 'x' x 1_000_000;
- 1 while /(.)/;
-
-Also, when pessimizing if the code contains C<$`>, C<$&> or C<$'>, record the
-presence of each variable separately, so that the determination of the substring
-range is based on each variable separately. So performance-wise,
-
- $&; /x/
-
-is now roughly equivalent to
-
- /(x)/
-
-whereas previously it was like
-
- /^(.*)(x)(.*)$/
-
-and
-
- $&; $'; /x/
-
-is now roughly equivalent to
-
- /(x)(.*)$/
-
-etc.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<Archive::Tar> has been upgraded from version 1.88 to 1.90. This adds
-documentation fixes.
-
-=item *
-
-L<B> has been upgraded from version 1.37 to 1.38. This makes the module work
-with the new pad API.
-
-=item *
-
-L<B::Concise> has been upgraded from version 0.92 to 0.93. This adds support
-for the new C<OpMAYBE_TRUEBOOL> and C<OPpTRUEBOOL> flags.
-
-=item *
-
-L<B::Deparse> has been upgraded from version 1.16 to 1.17. This suppresses
-trailing semicolons in formats.
-
-=item *
-
-L<CPANPLUS> has been upgraded from version 0.9130 to 0.9131. This resolves
-issues with the SQLite source engine.
-
-=item *
-
-L<DB_File> has been upgraded from version 1.826 to 1.827. The main Perl module
-no longer uses the C<"@_"> construct.
-
-=item *
-
-L<Devel::Peek> has been upgraded from version 1.09 to 1.10. This fixes
-compilation with C++ compilers and makes the module work with the new pad API.
-
-=item *
-
-L<DynaLoader> has been upgraded from version 1.15 to 1.16. This fixes warnings
-about using C<CODE> sections without an C<OUTPUT> section.
-
-=item *
-
-L<ExtUtils::ParseXS> has been upgraded from version 3.17 to 3.18. This avoids a
-bogus warning for initialised XSUB non-parameters [perl #112776].
-
-=item *
-
-L<File::Copy> has been upgraded from version 2.23 to 2.24. C<copy()> no longer
-zeros files when copying into the same directory, and also now fails (as it has
-long been documented to do) when attempting to copy a file over itself.
-
-=item *
-
-L<File::Find> has been upgraded from version 1.21 to 1.22. This fixes
-inconsistent unixy path handling on VMS.
-
-=item *
-
-L<IPC::Open3> has been upgraded from version 1.12 to 1.13. The C<open3()>
-function no longer uses C<POSIX::close()> to close file descriptors since that
-breaks the ref-counting of file descriptors done by PerlIO in cases where the
-file descriptors are shared by PerlIO streams, leading to attempts to close the
-file descriptors a second time when any such PerlIO streams are closed later on.
-
-=item *
-
-L<Locale::Codes> has been upgraded from version 3.22 to 3.23. It includes some
-new codes.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.71 to 2.73. This restores
-compatibility with older versions of perl and cleans up the corelist data for
-various modules.
-
-=item *
-
-L<Opcode> has been upgraded from version 1.23 to 1.24 to reflect the removal of
-the boolkeys opcode and the addition of the clonecv, introcv and padcv
-opcodes.
-
-=item *
-
-L<Socket> has been upgraded from version 2.004 to 2.006.
-C<unpack_sockaddr_in()> and C<unpack_sockaddr_in6()> now return just the IP
-address in scalar context, and C<inet_ntop()> now guards against incorrect
-length scalars being passed in.
-
-=item *
-
-L<Storable> has been upgraded from version 2.38 to 2.39. This contains various
-bugfixes, including compatibility fixes for older versions of Perl and vstring
-handling.
-
-=item *
-
-L<Sys::Syslog> has been upgraded from version 0.31 to 0.32. This includes
-several documentation and bug fixes.
-
-=item *
-
-L<threads::shared> has been upgraded from version 1.40 to 1.41. This adds the
-option to warn about or ignore attempts to clone structures that can't be
-cloned, as opposed to just unconditionally dying in that case.
-
-=item *
-
-L<version> has been upgraded from version 0.99 to 0.9901.
-
-=item *
-
-L<XSLoader> has been upgraded from version 0.15 to 0.16.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=head3 New Warnings
-
-=over 4
-
-=item *
-
-L<Experimental "%s" subs not enabled|perldiag/"Experimental "%s" subs not enabled">
-
-(F) To use lexical subs, you must first enable them:
-
- no warnings 'experimental:lexical_subs';
- use feature 'lexical_subs';
- my sub foo { ... }
-
-=item *
-
-L<Subroutine "&%s" is not available|perldiag/"Subroutine "&%s" is not available">
-
-(W closure) During compilation, an inner named subroutine or eval is
-attempting to capture an outer lexical subroutine that is not currently
-available. This can happen for one of two reasons. First, the lexical
-subroutine may be declared in an outer anonymous subroutine that has not
-yet been created. (Remember that named subs are created at compile time,
-while anonymous subs are created at run-time.) For example,
-
- sub { my sub a {...} sub f { \&a } }
-
-At the time that f is created, it can't capture the current the "a" sub,
-since the anonymous subroutine hasn't been created yet. Conversely, the
-following won't give a warning since the anonymous subroutine has by now
-been created and is live:
-
- sub { my sub a {...} eval 'sub f { \&a }' }->();
-
-The second situation is caused by an eval accessing a variable that has
-gone out of scope, for example,
-
- sub f {
- my sub a {...}
- sub { eval '\&a' }
- }
- f()->();
-
-Here, when the '\&a' in the eval is being compiled, f() is not currently
-being executed, so its &a is not available for capture.
-
-=item *
-
-L<"%s" subroutine &%s masks earlier declaration in same %s|perldiag/"%s" subroutine &%s masks earlier declaration in same %s>
-
-(W misc) A "my" or "state" subroutine has been redeclared in the
-current scope or statement, effectively eliminating all access to
-the previous instance. This is almost always a typographical error.
-Note that the earlier subroutine will still exist until the end of
-the scope or until all closure references to it are destroyed.
-
-=item *
-
-L<The %s feature is experimental|perldiag/"The %s feature is experimental">
-
-(S experimental) This warning is emitted if you enable an experimental
-feature via C<use feature>. Simply suppress the warning if you want
-to use the feature, but know that in doing so you are taking the risk
-of using an experimental feature which may change or be removed in a
-future Perl version:
-
- no warnings "experimental:lexical_subs";
- use feature "lexical_subs";
-
-=item *
-
-L<sleep(%u) too large|perldiag/"sleep(%u) too large">
-
-(W overflow) You called C<sleep> with a number that was larger than it can
-reliably handle and C<sleep> probably slept for less time than requested.
-
-=back
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-L<vector argument not supported with alpha versions|perldiag/vector argument not supported with alpha versions>
-
-This warning was not suppressable, even with C<no warnings>. Now it is
-suppressible, and has been moved from the "internal" category to the
-"printf" category.
-
-=item *
-
-C<< Can't do {n,m} with n > m in regex; marked by <-- HERE in m/%s/ >>
-
-This fatal error has been turned into a warning that reads:
-
-L<< Quantifier {n,m} with n > m can't match in regex | perldiag/Quantifier {n,m} with n > m can't match in regex >>
-
-(W regexp) Minima should be less than or equal to maxima. If you really want
-your regexp to match something 0 times, just put {0}.
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-F<Configure> will now correctly detect C<isblank()> when compiling with a C++
-compiler.
-
-=back
-
-=head1 Platform Support
-
-=head2 Discontinued Platforms
-
-=over 4
-
-=item VM/ESA
-
-Support for VM/ESA has been removed. The port was tested on 2.3.0, which
-IBM ended service on in March 2002. 2.4.0 ended service in June 2003, and
-was superseded by Z/VM. The current version of Z/VM is V6.2.0, and scheduled
-for end of service on 2015/04/30.
-
-=back
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Win32
-
-Fixed a problem where perl could crash while cleaning up threads (including the
-main thread) in threaded debugging builds on Win32 and possibly other platforms
-[perl #114496].
-
-A rare race condition that would lead to L<sleep|perlfunc/sleep> taking more
-time than requested, and possibly even hanging, has been fixed [perl #33096].
-
-=item Solaris
-
-In Configure, avoid running sed commands with flags not supported on Solaris.
-
-=item Darwin
-
-Stop hardcoding an alignment on 8 byte boundaries to fix builds using
--Dusemorebits.
-
-=item VMS
-
-Fix linking on builds configured with -Dusemymalloc=y.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-The APIs for accessing lexical pads have changed considerably.
-
-C<PADLIST>s are now longer C<AV>s, but their own type instead. C<PADLIST>s now
-contain a C<PAD> and a C<PADNAMELIST> of C<PADNAME>s, rather than C<AV>s for the
-pad and the list of pad names. C<PAD>s, C<PADNAMELIST>s, and C<PADNAME>s are to
-be accessed as such through the newly added pad API instead of the plain C<AV>
-and C<SV> APIs. See L<perlapi> for details.
-
-=item *
-
-In the regex API, the numbered capture callbacks are passed an index
-indicating what match variable is being accessed. There are special
-index values for the C<$`, $&, $&> variables. Previously the same three
-values were used to retrieve C<${^PREMATCH}, ${^MATCH}, ${^POSTMATCH}>
-too, but these have now been assigned three separate values. See
-L<perlreapi/Numbered capture callbacks>.
-
-=item *
-
-C<PL_sawampersand> was previously a boolean indicating that any of
-C<$`, $&, $&> had been seen; it now contains three one-bit flags
-indicating the presence of each of the variables individually.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-The error "Can't localize through a reference" had disappeared in 5.16.0
-when C<local %$ref> appeared on the last line of an lvalue subroutine.
-This error disappeared for C<\local %$ref> in perl 5.8.1. It has now
-been restored.
-
-=item *
-
-The parsing of here-docs has been improved significantly, fixing several
-parsing bugs and crashes and one memory leak, and correcting wrong
-subsequent line numbers under certain conditions.
-
-=item *
-
-Inside an eval, the error message for an unterminated here-doc no longer
-has a newline in the middle of it [perl #70836].
-
-=item *
-
-A substitution inside a substitution pattern (C<s/${s|||}//>) no longer
-confuses the parser.
-
-=item *
-
-It may be an odd place to allow comments, but C<s//"" # hello/e> has
-always worked, I<unless> there happens to be a null character before the
-first #. Now it works even in the presence of nulls.
-
-=item *
-
-An invalid range in C<tr///> or C<y///> no longer results in a memory leak.
-
-=item *
-
-String eval no longer treats a semicolon-delimited quote-like operator at
-the very end (C<eval 'q;;'>) as a syntax error.
-
-=item *
-
-C<< warn {$_ => 1} + 1 >> is no longer a syntax error. The parser used to
-get confused with certain list operators followed by an anonymous hash and
-then an infix operator that shares its form with a unary operator.
-
-=item *
-
-C<(caller $n)[6]> (which gives the text of the eval) used to return the
-actual parser buffer. Modifying it could result in crashes. Now it always
-returns a copy. The string returned no longer has "\n;" tacked on to the
-end. The returned text also includes here-doc bodies, which used to be
-omitted.
-
-=item *
-
-Reset the utf8 position cache when accessing magical variables to avoid the
-string buffer and the utf8 position cache getting out of sync
-[perl #114410].
-
-=item *
-
-Various cases of get magic being called twice for magical utf8 strings have been
-fixed.
-
-=item *
-
-This code (when not in the presence of C<$&> etc)
-
- $_ = 'x' x 1_000_000;
- 1 while /(.)/;
-
-used to skip the buffer copy for performance reasons, but suffered from C<$1>
-etc changing if the original string changed. That's now been fixed.
-
-=item *
-
-Perl doesn't use PerlIO anymore to report out of memory messages, as PerlIO
-might attempt to allocate more memory.
-
-=item *
-
-In a regular expression, if something is quantified with C<{n,m}>
-where C<S<n E<gt> m>>, it can't possibly match. Previously this was a fatal error,
-but now is merely a warning (and that something won't match). [perl #82954].
-
-=item *
-
-It used to be possible for formats defined in subroutines that have
-subsequently been undefined and redefined to close over variables in the
-wrong pad (the newly-defined enclosing sub), resulting in crashes or
-"Bizarre copy" errors.
-
-=item *
-
-Redefinition of XSUBs at run time could produce warnings with the wrong
-line number.
-
-=item *
-
-The %vd sprintf format does not support version objects for alpha versions.
-It used to output the format itself (%vd) when passed an alpha version, and
-also emit an "Invalid conversion in printf" warning. It no longer does,
-but produces the empty string in the output. It also no longer leaks
-memory in this case.
-
-=item *
-
-A bug fix in an earlier 5.17.x release caused C<no a a 3> (a syntax error)
-to result in a bad read or assertion failure, because an op was being freed
-twice.
-
-=item *
-
-C<< $obj->SUPER::method >> calls in the main package could fail if the
-SUPER package had already been accessed by other means.
-
-=item *
-
-Stash aliasing (C<*foo:: = *bar::>) no longer causes SUPER calls to ignore
-changes to methods or @ISA or use the wrong package.
-
-=item *
-
-Method calls on packages whose names end in ::SUPER are no longer treated
-as SUPER method calls, resulting in failure to find the method.
-Furthermore, defining subroutines in such packages no longer causes them to
-be found by SUPER method calls on the containing package [perl #114924].
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
-=item *
-
-Changes in the lexical pad API break some CPAN modules.
-
-To avoid having to patch those modules again later if we change pads from AVs
-into their own types, APIs for accessing the contents of pads have been added.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.4 represents approximately 4 weeks of development since Perl 5.17.3
-and contains approximately 82,000 lines of changes across 360 files from 37
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.17.4:
-
-Abhijit Menon-Sen, Andy Dougherty, Aristotle Pagaltzis, Chris 'BinGOs'
-Williams, Colin Kuskie, Craig A. Berry, Daniel Dragan, David Golden, David
-Leadbeater, David Mitchell, David Nicol, Dominic Hargreaves, Father
-Chrysostomos, Florian Ragwitz, H.Merijn Brand, James E Keenan, Jerry D. Hedden,
-Jesse Luehrs, John Peacock, Karen Etheridge, Karl Williamson, Leon Timmermans,
-Michael G Schwern, Nicholas Clark, Peter Martini, Rafael Garcia-Suarez, Ricardo
-Signes, Shawn M Moore, Shlomi Fish, Steffen Müller, Steve Hay, Sullivan Beck,
-Sébastien Aperghis-Tramoni, Tony Cook, Vincent Pit, Yves Orton.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5175delta - what is new for perl v5.17.5
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.4 release and the 5.17.5
-release.
-
-If you are upgrading from an earlier release such as 5.17.3, first read
-L<perl5174delta>, which describes differences between 5.17.3 and 5.17.4.
-
-=head1 Core Enhancements
-
-=head2 Upgrade to Unicode 6.2
-
-Perl now supports the final version of Unicode 6.2. Earlier releases in
-the 5.17 series supported Unicode 6.2 beta versions. There were no
-substantive changes in the final Unicode 6.2 version from the most
-recent beta, included in Perl 5.17.4. A list of changes from Unicode
-6.1 is at L<http://www.unicode.org/versions/Unicode6.2.0>.
-
-=head1 Security
-
-=head2 Avoid calling memset with a negative count
-
-Poorly written perl code that allows an attacker to specify the count to perl's
-C<x> string repeat operator can already cause a memory exhaustion
-denial-of-service attack. A flaw in versions of perl before 5.15.5 can escalate
-that into a heap buffer overrun; coupled with versions of glibc before 2.16, it
-possibly allows the execution of arbitrary code.
-
-The flaw addressed to this commit has been assigned identifier CVE-2012-5195.
-
-=head1 Incompatible Changes
-
-=head2 New Restrictions in Multi-Character Case-Insensitive Matching in Regular Expression Bracketed Character Classes
-
-Unicode has now withdrawn their previous recommendation for regular
-expressions to automatically handle cases where a single character can
-match multiple characters case-insensitively; for example, the letter
-LATIN SMALL LETTER SHARP S and the sequence C<ss>. This is because
-it turns out to be impracticable to do this correctly in all
-circumstances. Because Perl has tried to do this as best it can, it
-will continue to do so. (We are considering an option to turn it off.)
-However, a new restriction is being added on such matches when they
-occur in [bracketed] character classes. People were specifying
-things such as C</[\0-\xff]/i>, and being surprised that it matches the
-two character sequence C<ss> (since LATIN SMALL LETTER SHARP S occurs in
-this range). This behavior is also inconsistent with the using a
-property instead of a range: C<\p{Block=Latin1}> also includes LATIN
-SMALL LETTER SHARP S, but C</[\p{Block=Latin1}]/i> does not match C<ss>.
-The new rule is that for there to be a multi-character case-insensitive
-match within a bracketed character class, the character must be
-explicitly listed, and not as an end point of a range. This more
-closely obeys the Principle of Least Astonishment. See
-L<perlrecharclass/Bracketed Character Classes>. Note that a bug [perl
-#89774], now fixed as part of this change, prevented the previous
-behavior from working fully.
-
-=head2 Change to Warnings About Lexical Subroutines
-
-The warnings category for lexical subroutines is now
-"experimental::lexical_subs", with two colons, not
-"experimental:lexical_subs";
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<AutoLoader> has been upgraded from version 5.72 to 5.73.
-
-=item *
-
-L<B::Deparse> has been upgraded from version 1.17 to 1.18. It no longer
-dies when deparsing C<sort> without arguments. It now correctly omits the
-comma for C<system $prog @args> and C<exec $prog @args>.
-
-=item *
-
-L<bignum>, L<bigint> and L<bigrat> have been upgraded from version 0.30 to
-0.31. The overrides for C<hex> and C<oct> have been rewritten, eliminating
-several problems, and making one incompatible change:
-
-=over
-
-=item *
-
-Formerly, whichever of C<use bigint> or C<use bigrat> was compiled later
-would take precedence over the other, causing C<hex> and C<oct> not to
-respect the other pragma when in scope.
-
-=item *
-
-Using any of these three pragmata would cause C<hex> and C<oct> anywhere
-else in the program to evalute their arguments in list context and prevent
-them from inferring $_ when called without arguments.
-
-=item *
-
-Using any of these three pragmata would make C<oct("1234")> return 1234
-(for any number not beginning with 0) anywhere in the program. Now "1234"
-is translated from octal to decimal, whether within the pragma's scope or
-not.
-
-=item *
-
-The global overrides that facilitate lexical use of C<hex> and C<oct> now
-respect any existing overrides that were in place before the new overrides
-were installed, falling back to them outside of the scope of C<use bignum>.
-
-=item *
-
-C<use bignum "hex">, C<use bignum "oct"> and similar invocations for bigint
-and bigrat now export a C<hex> or C<oct> function, instead of providing a
-global override.
-
-=back
-
-=item *
-
-L<Carp> has been upgraded from version 1.26 to 1.27. The C<longmess()> and
-C<shortmess()> functions are now documented.
-
-=item *
-
-L<CPANPLUS> has been upgraded from version 0.9131 to 0.9133.
-
-=item *
-
-L<Data::Dumper> has been upgraded from version 2.135_07 to 2.136. This promotes
-the previous development release to a stable release.
-
-=item *
-
-L<Digest::SHA> has been upgraded from version 5.71 to 5.72.
-
-=item *
-
-L<ExtUtils::CBuilder> has been upgraded from version 0.280208 to 0.280209. A
-list of symbols to export can now be passed to C<link()> when on Windows, as on
-other OSes [perl #115100].
-
-=item *
-
-L<feature> has been upgraded from version 1.30 to 1.31.
-
-=item *
-
-L<File::Glob> has been upgraded from version 1.17 to 1.18. A
-space-separated list of patterns return long lists of results no longer
-results in memory corruption or crashes. This bug was introduced in Perl
-5.16.0. [perl #114984]
-
-=item *
-
-L<HTTP::Tiny> has been upgraded from version 0.022 to 0.024. This improves
-SSL support.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.73 to 2.75.
-
-=item *
-
-L<PerlIO::encoding> has been upgraded from version 0.15 to 0.16. This is
-the module implementing the ":encoding(...)" I/O layer. It no longer
-corrupts memory or crashes when the encoding back-end reallocates the
-buffer or gives it a typeglob or shared hash key scalar.
-
-=item *
-
-L<threads::shared> has been upgraded from version 1.41 to 1.42. This adds
-support for dual-valued values as created by
-L<Scalar::Util::dualvar|Scalar::Util/"dualvar NUM, STRING">.
-
-=item *
-
-L<Unicode::Collate> hsa been upgraded from version 0.89 to 0.90.
-
-=item *
-
-L<Unicode::Normalize> has been upgraded from version 1.14 to 1.15.
-
-=item *
-
-L<warnings> has been upgraded from version 1.14 to 1.15.
-
-=item *
-
-L<Win32CORE> has been upgraded from version 0.03 to 0.04.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-The error produced when a module cannot be loaded now includes a hint that
-the module may need to be installed: "Can't locate hopping.pm in @INC (you
-may need to install the hopping module) (@INC contains: ...)"
-
-=back
-
-=head1 Utility Changes
-
-=head3 L<h2xs>
-
-=over 4
-
-=item *
-
-F<h2xs> no longer produces invalid code for empty defines. [perl #20636]
-
-=back
-
-=head1 Platform Support
-
-=head2 Discontinued Platforms
-
-=over 4
-
-=item MPE/IX
-
-Support for MPE/IX has been removed.
-
-=back
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Win32
-
-The option to build without USE_SOCKETS_AS_HANDLES has been removed.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-Case-insensitive matching inside a [bracketed] character class with a
-multi-character fold, no longer excludes one of the possibilities in the
-circumstances that it used to. [perl #89774].
-
-=item *
-
-C<PL_formfeed> has been removed.
-
-=item *
-
-The regular expression engine no longer reads one byte past the end of the
-target string. While for all internally well-formed scalars this should
-never have been a problem, this change facilitates clever tricks with
-string buffers in CPAN modules. [perl #73542]
-
-=item *
-
-Inside a BEGIN block, C<PL_compcv> now points to the currently-compiling
-subroutine, rather than the BEGIN block itself.
-
-=item *
-
-C<mg_length> has been deprecated.
-
-=item *
-
-C<sv_len> now always returns a byte count and C<sv_len_utf8> a character
-count. Previously, C<sv_len> and C<sv_len_utf8> were both buggy and would
-sometimes returns bytes and sometimes characters. C<sv_len_utf8> no longer
-assumes that its argument is in UTF8. Neither of these creates UTF8 caches
-for tied or overloaded values or for non-PVs any more.
-
-=item *
-
-C<sv_mortalcopy> now copies string buffers of shared hash key scalars when
-called from XS modules [perl #79824].
-
-=item *
-
-C<RXf_SPLIT> and C<RXf_SKIPWHITE> are no longer used. They are now
-#defined as 0.
-
-=item *
-
-The new C<RXf_MODIFIES_VARS> flag can be set by custom regular expression
-engines to indicate that the execution of the regular expression may cause
-variables to be modified. This lets C<s///> know to skip certain
-optimisations. Perl's own regular expression engine sets this flag for the
-special backtracking verbs that set $REGMARK and $REGERROR.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-A bug, case-insensitive regex with UTF8-flagged strings, introduced
-earlier in the 5.17 series has been fixed. [perl #114982]
-
-=item *
-
-Attributes applied to lexical variables no longer leak memory.
-[perl #114764]
-
-=item *
-
-C<dump>, C<goto>, C<last>, C<next>, C<redo> or C<require> followed by a
-bareword (or version) and then an infix operator is no longer a syntax
-error. It used to be for those infix operators (like C<+>) that have a
-different meaning where a term is expected. [perl #105924]
-
-=item *
-
-C<require a::b . 1> and C<require a::b + 1> no longer produce erroneous
-ambiguity warnings. [perl #107002]
-
-=item *
-
-Class method calls are now allowed on any string, and not just strings
-beginning with an alphanumeric character. [perl #105922]
-
-=item *
-
-An empty pattern created with C<qr//> used in C<m///> no longer triggers
-the "empty pattern reuses last pattern" behaviour. [perl #96230]
-
-=item *
-
-Tying a hash during iteration no longer results in a memory leak.
-
-=item *
-
-Freeing a tied hash during iteration no longer results in a memory leak.
-
-=item *
-
-List assignment to a tied array or hash that dies on STORE no longer
-results in a memory leak.
-
-=item *
-
-If the hint hash (C<%^H>) is tied, compile-time scope entry (which copies
-the hint hash) no longer leaks memory if FETCH dies. [perl #107000]
-
-=item *
-
-Constant folding no longer inappropriately triggers the special
-C<split " "> behaviour. [perl #94490]
-
-=item *
-
-C<defined scalar(@array)>, C<defined do { &foo }>, and similar constructs
-now treat the argument to C<defined> as a simple scalar. [perl #97466]
-
-=item *
-
-Running a custom debugging that defines no C<*DB::DB> glob or provides a
-subroutine stub for C<&DB::DB> no longer results in a crash, but an error
-instead. [perl #114990]
-
-=item *
-
-C<reset ""> now matches its documentation. C<reset> only resets C<m?...?>
-patterns when called with no argument. An empty string for an argument now
-does nothing. (It used to be treated as no argument.) [perl #97958]
-
-=item *
-
-C<printf> with an argument returning an empty list no longer reads past the
-end of the stack, resulting in erratic behaviour. [perl #77094]
-
-=item *
-
-C<--subname> no longer produces erroneous ambiguity warnings.
-[perl #77240]
-
-=item *
-
-C<v10> is now allowed as a label or package name. This was inadvertently
-broken when v-strings were added in Perl 5.6. [perl #56880]
-
-=item *
-
-A regression introduced in 5.17.2 has been fixed, which made C</[\@\\]||/>
-result in a "panic" error. [perl #115050]
-
-=item *
-
-C<length>, C<pos>, C<substr> and C<sprintf> could be confused by ties,
-overloading, references and typeglobs if the stringification of such
-changed the internal representation to or from UTF8. [perl #114410]
-
-=item *
-
-utf8::encode now calls FETCH and STORE on tied variables. utf8::decode now
-calls STORE (it was already calling FETCH).
-
-=item *
-
-C<$tied =~ s/$non_utf8/$utf8/> no longer loops infinitely if the tied
-variable returns a Latin-1 string, shared hash key scalar, or reference or
-typeglob that stringifies as ASCII or Latin-1. This is a regression from
-5.12.x.
-
-=item *
-
-C<s///> without /e is now better at detecting when it needs to forego
-certain optimisations, fixing some buggy cases:
-
-=over
-
-=item *
-
-Match variables in certain constructs (C<&&>, C<||>, C<..> and others) in
-the replacement part; e.g., C<s/(.)/$l{$a||$1}/g>. [perl #26986]
-
-=item *
-
-Aliases to match variables in the replacement.
-
-=item *
-
-$REGERROR or $REGMARK in the replacement. [perl #49190]
-
-=item *
-
-An empty pattern (C<s//$foo/>) that causes the last-successful pattern to
-be used, when that pattern contains code blocks that modify the variables
-in the replacement.
-
-=back
-
-=item *
-
-The taintedness of the replacement string no longer affects the taintedness
-of the return value of C<s///e>.
-
-=item *
-
-The C<$|> autoflush variable is created on-the-fly when needed. If this
-happened (e.g., if it was mentioned in a module or eval) when the
-currently-selected filehandle was a typeglob with an empty IO slot, it used
-to crash. [perl #115206]
-
-=item *
-
-Line numbers at the end of a string eval are no longer off by one.
-[perl #114658]
-
-=item *
-
-@INC filters (subroutines returned by subroutines in @INC) that set $_ to a
-copy-on-write scalar no longer cause the parser to modify that string
-buffer in place.
-
-=item *
-
-C<length($object)> no longer returns the undefined value if the object has
-string overloading that returns undef. [perl #115260]
-
-=item *
-
-The use of C<PL_stashcache>, the stash name lookup cache for method calls, has
-been restored,
-
-Commit da6b625f78f5f133 in August 2011 inadvertently broke the code that looks
-up values in C<PL_stashcache>. As it's a only cache, quite correctly everything
-carried on working without it.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.5 represents approximately 4 weeks of development since Perl 5.17.4
-and contains approximately 17,000 lines of changes across 310 files from 32
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.17.5:
-
-Aaron Crane, Adrian M. Enache, Andy Dougherty, Brad Gilbert, Chris 'BinGOs'
-Williams, Colin Kuskie, Craig A. Berry, Daniel Dragan, David Golden, David
-Mitchell, Dominic Hargreaves, Eric Brine, Father Chrysostomos, Florian Ragwitz,
-H.Merijn Brand, James E Keenan, Jerry D. Hedden, Jesse Luehrs, Karl Williamson,
-Nicholas Clark, Niko Tyni, Paul Johnson, Peter Martini, Reini Urban, Ricardo
-Signes, Ruslan Zakirov, Sawyer X, Smylers, Steffen Müller, Steve Hay, Tony
-Cook, Yves Orton.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5176delta - what is new for perl v5.17.6
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.5 release and the 5.17.6
-release.
-
-If you are upgrading from an earlier release such as 5.17.4, first read
-L<perl5175delta>, which describes differences between 5.17.4 and 5.17.5.
-
-=head1 Core Enhancements
-
-=head2 Character name aliases may now include non-Latin1-range characters
-
-It is possible to define your own names for characters for use in
-C<\N{...}>, C<charnames::vianame()>, etc. These names can now be
-comprised of characters from the whole Unicode range. This allows for
-names to be in your native language, and not just English. Certain
-restrictions apply to the characters that may be used (you can't define
-a name that has punctuation in it, for example). See L<charnames/CUSTOM
-ALIASES>.
-
-=head2 New hash function Murmurhash-32 (v3)
-
-We have switched Perl's hash function to use Murmurhash-32, and added build
-support for several other hash functions. This new function is expected to
-perform equivalently to the old one for shorter strings and is faster,
-potentially twice as fast, for hashing longer strings.
-
-=head1 Incompatible Changes
-
-=head2 An unknown character name in C<\N{...}> is now a syntax error
-
-Previously, it warned, and the Unicode REPLACEMENT CHARACTER was
-substituted. Unicode now recommends that this situation be a syntax
-error. Also, the previous behavior led to some confusing warnings and
-behaviors, and since the REPLACEMENT CHARACTER has no use other than as
-a stand-in for some unknown character, any code that has this problem is
-buggy.
-
-=head2 Formerly deprecated characters in C<\N{}> character name aliases are now errors.
-
-Since v5.12.0, it has been deprecated to use certain characters in
-user-defined C<\N{...}> character names. These now cause a syntax
-error. For example, it is now an error to begin a name with a digit,
-such as in
-
- my $undraftable = "\N{4F}"; # Syntax error!
-
-or to have commas anywhere in the name. See L<charnames/CUSTOM ALIASES>
-
-=head2 Per process hash randomization
-
-The seed used by Perl's hash function is now random. This means that the
-order which keys/values will be returned from functions like C<keys()>,
-C<values()>, and C<each()> will differ from run to run.
-
-This change was introduced to make Perl's hashes more robust to algorithmic
-complexity attacks, and also because we discovered that it exposes hash
-ordering dependency bugs and makes them easier to track down.
-
-Toolchain maintainers might want to invest in additional infrastructure to
-test for things like this. Running tests several times in a row and then
-comparing results will make it easier to spot hash order dependencies in
-code. Authors are strongly encouraged not to expose the key order of
-Perl's hashes to insecure audiences.
-
-=head2 PERL_HASH_SEED enviornment variable now takes a hex value
-
-PERL_HASH_SEED no longer accepts an integer as a parameter, instead the
-value is expected to be a binary string encoded in hex. This is to make
-the infrastructure support hash seeds of arbitrary lengths which might
-exceed that of an integer. (SipHash uses a 16 byte seed).
-
-=head2 Hash::Util::hash_seed() now returns a string
-
-Hash::Util::hash_seed() now returns a string instead of an integer. This
-is to make the infrastructure support hash seeds of arbitrary lengths
-which might exceed that of an integer. (SipHash uses a 16 byte seed).
-
-=head2 Output of PERL_HASH_SEED_DEBUG has been changed
-
-The environment variable PERL_HASH_SEED_DEBUG now shows both the hash
-function perl was built with AND the seed, in hex in use for that process.
-Code parsing this output, should it exist, must change to accomodate the
-new format. Example of the new format:
-
- $ PERL_HASH_SEED_DEBUG=1 ./perl -e1
- HASH_FUNCTION = MURMUR3 HASH_SEED = 0x1476bb9f
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-Lists of lexical variable declarations (C<my($x, $y)>) are now optimised
-down to a single op, and are hence faster than before.
-
-=item *
-
-A new C preprocessor define NO_TAINT_SUPPORT was added that, if set, disables
-Perl's taint support altogether. Using the -T or -t command line flags will
-cause a fatal error. Beware that both core tests as well as many a CPAN
-distribution's tests will fail with this change. On the upside, it provides
-a small performance benefit due to reduced branching.
-
-B<Do not enable this unless you know exactly what you are getting yourself
-into.>
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<Carp> has been upgraded from version 1.27 to 1.28.
-
-Carp is no longer confused when C<caller> returns undef for a package that
-has been deleted.
-
-=item *
-
-L<CPAN> has been upgraded from version 1.98 to 1.99_51.
-
-=item *
-
-L<DynaLoader> has been upgraded from version 1.16 to 1.17.
-
-=item *
-
-L<Env> has been upgraded from version 1.03 to 1.04.
-
-Its SPLICE implementation no longer misbehaves in list context.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.77 to 2.78.
-
-=item *
-
-L<Tie::Hash::NamedCapture> has been upgraded from version 0.08 to 0.09.
-
-=back
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlref>
-
-=over 4
-
-=item *
-
-C<*foo{NAME}> and C<*foo{PACKAGE}>, which have existed since perl 5.005,
-are now documented.
-
-=back
-
-=head1 Platform Support
-
-=head2 Discontinued Platforms
-
-=over 4
-
-=item EPOC
-
-Support code relating to EPOC has been removed. EPOC was a family of
-operating systems developed by Psion for mobile devices. It was the
-predecessor of Symbian. The port was last updated in April 2002.
-
-=back
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item VMS
-
-Where possible, the case of filenames and command-line arguments is now
-preserved by enabling the CRTL features C<DECC$EFS_CASE_PRESERVE> and
-C<DECC$ARGV_PARSE_STYLE> at start-up time. The latter only takes effect
-when extended parse is enabled in the process from which Perl is run.
-
-=item WinCE
-
-Building on WinCE is now possible once again, although more work is required
-to fully restore a clean build.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-The private Perl_croak_no_modify has had its context parameter removed. It is
-now has a void prototype. Users of the public API croak_no_modify remain
-unaffected.
-
-=item *
-
-Copy-on-write (shared hash key) scalars are no longer marked read-only.
-C<SvREADONLY> returns false on such an SV, but C<SvIsCOW> still returns
-true.
-
-=item *
-
-A new op type, C<OP_PADRANGE> has been introduced. The perl peephole
-optimiser will, where possible, substitute a single padrange op for a
-pushmark followed by one or more pad ops, and possibly also skipping list
-and nextstate ops. In addition, the op can carry out the tasks associated
-with the RHS of a my(...) = @_ assignment, so those ops may be optimised
-away too.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Uninitialized warnings mentioning hash elements would only mention the
-element name if it was not in the first bucket of the hash, due to an
-off-by-one error.
-
-=item *
-
-A regular expression optimizer bug could cause multiline "^" to behave
-incorrectly in the presence of line breaks, such that
-C<"/\n\n" =~ m#\A(?:^/$)#im> would not match [perl #115242].
-
-=item *
-
-Failed C<fork> in list context no longer currupts the stack.
-C<@a = (1, 2, fork, 3)> used to gobble up the 2 and assign C<(1, undef, 3)>
-if the C<fork> call failed.
-
-=item *
-
-Numerous memory leaks have been fixed, mostly involving tied variables that
-die, regular expression character classes and code blocks, and syntax
-errors.
-
-=item *
-
-Assigning a regular expression (C<${qr//}>) to a variable that happens to
-hold a floating point number no longer causes assertion failures on
-debugging builds.
-
-=item *
-
-Assigning a regular expression to a scalar containing a number no longer
-causes subsequent nummification to produce random numbers.
-
-=item *
-
-Assigning a regular expression to a magic variable no longer wipes away the
-magic. This is a regression from 5.10.
-
-=item *
-
-Assigning a regular expression to a blessed scalar no longer results in
-crashes. This is also a regression from 5.10.
-
-=item *
-
-Regular expression can now be assigned to tied hash and array elements with
-flattening into strings.
-
-=item *
-
-Nummifying a regular expression no longer results in an uninitialized
-warning.
-
-=item *
-
-Negative array indices no longer cause EXISTS methods of tied variables to
-be ignored. This is a regression from 5.12.
-
-=item *
-
-Negative array indices no longer result in crashes on arrays tied to
-non-objects.
-
-=item *
-
-C<$x = "(?{})"; /a++(?{})+$x/x> no longer erroneous produces an error (just
-a warning, as expected). This was broken in 5.17.1.
-
-=item *
-
-C<$byte_overload .= $utf8> no longer results in doubly-encoded UTF8 if the
-left-hand scalar happened to have produced a UTF8 string the last time
-overloading was invoked.
-
-=item *
-
-C<goto &sub> now uses the current value of @_, instead of using the array
-the subroutine was originally called with. This means
-C<local @_ = (...); goto &sub> now works [perl #43077].
-
-=item *
-
-If a debugger is invoked recursively, it no longer stomps on its own
-lexical variables. Formerly under recursion all calls would share the same
-set of lexical variables [perl #115742].
-
-=item *
-
-C<*_{ARRAY}> returned from a subroutine no longer spontaneously
-becomes empty.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.6 represents approximately 5 weeks of development since Perl 5.17.5
-and contains approximately 79,000 lines of changes across 460 files from 30
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.17.6:
-
-Alexandr Ciornii, Brian Fraser, Chris 'BinGOs' Williams, Craig A. Berry,
-Dagfinn Ilmari Mannsåker, Daniel Dragan, David Golden, David Mitchell, Dominic
-Hargreaves, Eric Brine, Father Chrysostomos, Florian Ragwitz, Hugo van der
-Sanden, James E Keenan, Jerry D. Hedden, Jesse Luehrs, Karl Williamson, Lukas
-Mai, Nicholas Clark, Paul Johnson, Reini Urban, Ricardo Signes, Ruslan Zakirov,
-Shlomi Fish, Steffen Müller, Steve Hay, Tom Wyant, Tony Cook, Vadim Konovalov,
-Yves Orton.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5177delta - what is new for perl v5.17.7
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.6 release and the 5.17.7
-release.
-
-If you are upgrading from an earlier release such as 5.17.5, first read
-L<perl5176delta>, which describes differences between 5.17.5 and 5.17.6.
-
-=head1 Core Enhancements
-
-=head2 $&, $` and $' are no longer slow
-
-These three infamous variables have been redeemed and no longer slow down
-your program when used. Hence, the /p regular expression flag now does
-nothing.
-
-=head1 Security
-
-=head2 C<Storable> security warning in documentation
-
-The documentation for C<Storable> now includes a section which warns readers
-of the danger of accepting Storable documents from untrusted sources. The
-short version is that deserializing certain types of data can lead to loading
-modules and other code execution. This is documented behavior and wanted
-behavior, but this opens an attack vector for malicious entities.
-
-=head2 C<Locale::Maketext> allowed code injection via a malicious template
-
-If users could provide a translation string to Locale::Maketext, this could be
-used to invoke arbitrary Perl subroutines available in the current process.
-
-This has been fixed, but it is still possible to invoke any method provided by
-C<Locale::Maketext> itself or a subclass that you are using. One of these
-methods in turn will invoke the Perl core's C<sprintf> subroutine.
-
-In summary, allowing users to provide translation strings without auditing
-them is a bad idea.
-
-This vulnerability is documented in CVE-2012-6329.
-
-=head1 Incompatible Changes
-
-=head2 readline() with C<$/ = \N> now reads N characters, not N bytes
-
-Previously, when reading from a stream with I/O layers such as
-C<encoding>, the readline() function, otherwise known as the C<< <> >>
-operator, would read I<N> bytes from the top-most layer. [perl #79960]
-
-Now, I<N> characters are read instead.
-
-There is no change in behaviour when reading from streams with no
-extra layers, since bytes map exactly to characters.
-
-=head2 Lexical subroutine warnings have moved
-
-The warning about the use of an experimental feature emitted when lexical
-subroutines (added in 5.17.4) are used now happens when the subroutine
-itself is declared, not when the "lexical_subs" feature is activated via
-C<use feature>.
-
-This stops C<use feature ':all'> from warning, but causes
-C<my sub foo; my sub bar> to warn twice.
-
-=head2 Overridden C<glob> is now passed one argument
-
-C<glob> overrides used to be passed a magical undocumented second argument
-that identified the caller. Nothing on CPAN was using this, and it got in
-the way of a bug fix, so it was removed. If you really need to identify
-the caller, see L<Devel::Callsite> on CPAN.
-
-=head1 Deprecations
-
-=head2 Lexical $_ is now deprecated
-
-Since it was introduced in Perl 5.10, it has caused much confusion with no
-obvious solution:
-
-=over
-
-=item *
-
-Various modules (e.g., List::Util) expect callback routines to use the
-global $_. C<use List::Util 'first'; my $_; first { $_ == 1 } @list> does
-not work as one would expect.
-
-=item *
-
-A C<my $_> declaration earlier in the same file can cause confusing closure
-warnings.
-
-=item *
-
-The "_" subroutine prototype character allows called subroutines to access
-your lexical $_, so it is not really private after all.
-
-=item *
-
-Nevertheless, subroutines with a "(@)" prototype and methods cannot access
-the caller's lexical $_, unless they are written in XS.
-
-=item *
-
-But even XS routines cannot access a lexical $_ declared, not in the
-calling subroutine, but in an outer scope, iff that subroutine happened not
-to mention $_ or use any operators that default to $_.
-
-=back
-
-=head2 Various XS-callable functions are now deprecated
-
-The following functions will be removed from a future version of Perl,
-and should not be used. With participating C compilers (e.g., gcc),
-compiling any file that uses any of these will generate a warning.
-These were not intended for public use; there are equivalent, faster,
-macros for most of them. See L<perlapi/Character classes>:
-C<is_uni_ascii>, C<is_uni_ascii_lc>, C<is_uni_blank>, C<is_uni_blank_lc>,
-C<is_uni_cntrl>, C<is_uni_cntrl_lc>, C<is_uni_idfirst_lc>, C<is_uni_space>,
-C<is_uni_space_lc>, C<is_uni_xdigit>, C<is_uni_xdigit_lc>, C<is_utf8_ascii>,
-C<is_utf8_blank>, C<is_utf8_cntrl>, C<is_utf8_idcont>, C<is_utf8_idfirst>,
-C<is_utf8_perl_space>, C<is_utf8_perl_word>, C<is_utf8_posix_digit>,
-C<is_utf8_space>, C<is_utf8_xdigit>. C<is_utf8_xidcont>, C<is_utf8_xidfirst>,
-C<to_uni_lower_lc>, C<to_uni_title_lc>, and C<to_uni_upper_lc>.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-Perl has a new copy-on-write mechanism that avoids the need to copy the
-internal string buffer when assigning from one scalar to another. This
-makes copying large strings appear much faster. Modifying one of the two
-(or more) strings after an assignment will force a copy internally. This
-makes it unnecessary to pass strings by reference for efficiency.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<File::DosGlob> has been upgraded from version 1.08 to 1.09. The internal
-cache of file names that it keeps for each caller is now freed when that
-caller is freed. This means
-C<< use File::DosGlob 'glob'; eval 'scalar <*>' >> no longer leaks memory.
-
-=item *
-
-L<File::Glob> has been upgraded from version 1.18 to 1.19. File::Glob has
-had exactly the same fix as File::DosGlob. Since it is what Perl's own
-C<glob> operator itself uses (except on VMS), this means
-C<< eval 'scalar <*>' >> no longer leaks.
-
-=item *
-
-L<GDBM_File> has been upgraded from version 1.14 to 1.15. The undocumented
-optional fifth parameter to C<TIEHASH> has been removed. This was intended
-to provide control of the callback used by C<gdbm*> functions in case of
-fatal errors (such as filesystem problems), but did not work (and could
-never have worked). No code on CPAN even attempted to use it. The callback
-is now always the previous default, C<croak>. Problems on some platforms with
-how the C<C> C<croak> function is called have also been resolved.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.78 to 2.79.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlapi/Character classes>
-
-=over 4
-
-=item *
-
-There are quite a few macros callable from XS modules that classify
-characters into things like alphabetic, punctuation, etc. More of these
-are now documented, including ones which work on characters whose code
-points are outside the Latin-1 range.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-L<Constant(%s): Call to &{$^H{%s}} did not return a defined value|perldiag/Constant(%s): Call to &{$^H{%s}} did not return a defined value>
-
-Constant overloading that returns C<undef> results in this error message.
-For numeric constants, it used to say "Constant(undef)". "undef" has been
-replaced with the number itself.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-SvUPGRADE() is no longer an expression. Originally this macro (and its
-underlying function, sv_upgrade()) were documented as boolean, although
-in reality they always croaked on error and never returned false. In 2005
-the documentation was updated to specify a void return value, but
-SvUPGRADE() was left always returning 1 for backwards compatibility. This
-has now been removed, and SvUPGRADE() is now a statement with no return
-value.
-
-So this is now a syntax error:
-
- if (!SvUPGRADE(sv)) { croak(...); }
-
-If you have code like that, simply replace it with
-
- SvUPGRADE(sv);
-
-or to to avoid compiler warnings with older perls, possibly
-
- (void)SvUPGRADE(sv);
-
-=item *
-
-Perl has a new copy-on-write mechanism that allows any SvPOK scalar to be
-upgraded to a copy-on-write scalar. A reference count on the string buffer
-is stored in the string buffer itself.
-
-This breaks a few XS modules by allowing copy-on-write scalars to go
-through code paths that never encountered them before.
-
-This behaviour can still be disabled by running F<Configure> with
-B<-Accflags=-DPERL_NO_COW>. This option will probably be removed in Perl
-5.20.
-
-=item *
-
-Copy-on-write no longer uses the SvFAKE and SvREADONLY flags. Hence,
-SvREADONLY indicates a true read-only SV.
-
-Use the SvIsCOW macro (as before) to identify a copy-on-write scalar.
-
-=item *
-
-C<PL_sawampersand> is now a constant. The switch this variable provided
-(to enable/disable the pre-match copy depending on whether C<$&> had been
-seen) has been removed and replaced with copy-on-write, eliminating a few
-bugs.
-
-The previous behaviour can still be enabled by running F<Configure> with
-B<-Accflags=-DPERL_SAWAMPERSAND>.
-
-=item *
-
-PL_glob_index is gone.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-C<sort {undef} ...> under fatal warnings no longer crashes. It started
-crashing in Perl 5.16.
-
-=item *
-
-Stashes blessed into each other
-(C<bless \%Foo::, 'Bar'; bless \%Bar::, 'Foo'>) no longer result in double
-frees. This bug started happening in Perl 5.16.
-
-=item *
-
-Numerous memory leaks have been fixed, mostly involving fatal warnings and
-syntax errors.
-
-=item *
-
-Lexical constants (C<my sub answer () { 42 }>) no longer cause double
-frees.
-
-=item *
-
-Constant subroutine redefinition warns by default, but lexical constants
-were accidentally exempt from default warnings. This has been corrected.
-
-=item *
-
-Some failed regular expression matches such as C<'f' =~ /../g> were not
-resetting C<pos>. Also, "match-once" patterns (C<m?...?g>) failed to reset
-it, too, when invoked a second time [perl #23180].
-
-=item *
-
-Accessing C<$&> after a pattern match now works if it had not been seen
-before the match. I.e., this applies to C<${'&'}> (under C<no strict>) and
-C<eval '$&'>. The same applies to C<$'> and C<$`> [perl #4289].
-
-=item *
-
-Several bugs involving C<local *ISA> and C<local *Foo::> causing stale
-MRO caches have been fixed.
-
-=item *
-
-Defining a subroutine when its typeglob has been aliased no longer results
-in stale method caches. This bug was introduced in Perl 5.10.
-
-=item *
-
-Localising a typeglob containing a subroutine when the typeglob's package
-has been deleted from its parent stash no longer produces an error. This
-bug was introduced in Perl 5.14.
-
-=item *
-
-Under some circumstances, C<local *method=...> would fail to reset method
-caches upon scope exit.
-
-=item *
-
-C</[.foo.]/> is no longer an error, but produces a warning (as before) and
-is treated as C</[.fo]/> [perl #115818].
-
-=item *
-
-C<goto $tied_var> now calls FETCH before deciding what type of goto
-(subroutine or label) this is.
-
-=item *
-
-Renaming packages through glob assignment
-(C<*Foo:: = *Bar::; *Bar:: = *Baz::>) in combination with C<m?...?> and
-C<reset> no longer makes threaded builds crash.
-
-=item *
-
-An earlier release in the 5.17.x series could crash if user code prevented
-_charnames from loading via C<$INC{'_charnames.pm'}++>.
-
-=item *
-
-A number of bugs related to assigning a list to hash have been fixed. Many of
-these involve lists with repeated keys like C<(1, 1, 1, 1)>.
-
-=over 4
-
-=item *
-
-The expression C<scalar(%h = (1, 1, 1, 1))> now returns C<4>, not C<2>.
-
-=item *
-
-The return value of C<%h = (1, 1, 1)> in list context was wrong. Previously
-this would return C<(1, undef, 1)>, now it returns C<(1, undef)>.
-
-=item *
-
-Perl now issues the same warning on C<($s, %h) = (1, {})> as it does for
-C<(%h) = ({})>, "Reference found where even-sized list expected".
-
-=item *
-
-A number of additional edge cases in list assignment to hashes were
-corrected. For more details see commit 23b7025ebc.
-
-=back
-
-=back
-
-=head1 Known Problems
-
-There may be a failure in the F<t/op/require_errors.t> test if you run the
-test suite as the root user.
-
-=head1 Acknowledgements
-
-Perl 5.17.7 represents approximately 4 weeks of development since Perl 5.17.6
-and contains approximately 30,000 lines of changes across 490 files from 26
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.17.7:
-
-Alexandr Ciornii, Bob Ernst, Brian Carlson, Chris 'BinGOs' Williams, Craig A.
-Berry, Daniel Dragan, Dave Rolsky, David Mitchell, Father Chrysostomos, Hugo
-van der Sanden, James E Keenan, Joel Berger, Karl Williamson, Lukas Mai, Martin
-Hasch, Matthew Horsfall, Nicholas Clark, Ricardo Signes, Ruslan Zakirov, Sergey
-Alekseev, Steffen Müller, Sullivan Beck, Sven Strickroth, Sébastien
-Aperghis-Tramoni, Tony Cook, Yves Orton.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5178delta - what is new for perl v5.17.8
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.7 release and the 5.17.8
-release.
-
-If you are upgrading from an earlier release such as 5.17.6, first read
-L<perl5177delta>, which describes differences between 5.17.6 and 5.17.7.
-
-=head1 Core Enhancements
-
-=head2 Regular Expression Set Operations
-
-This is an experimental feature to allow matching against the union,
-intersection, etc., of sets of code points, similar to
-L<Unicode::Regex::Set>. It can also be used to extend C</x> processing
-to [bracketed] character classes, and as a replacement of user-defined
-properties, allowing more complex expressions than they do. See
-L<perlre/(?[ ])>.
-
-=head1 Deprecations
-
-=head2 Deprecated modules
-
-The Pod::LaTeX module is now deprecated, and due to be moved out of the Perl
-core in 5.20. Until then, using the core-installed version will produce a
-warning. You can suppress the warning by installing the module from CPAN.
-
-=head2 User-defined charnames with surprising whitespace
-
-A user-defined character name with trailing or multiple spaces in a row is
-likely a typo. This now generates a warning when defined, on the assumption
-that uses of it will be unlikely to include the excess whitespace.
-
-=head2 Various XS-callable functions are now deprecated
-
-All the functions used to classify characters will be removed from a
-future version of Perl, and should not be used. With participating C
-compilers (e.g., gcc), compiling any file that uses any of these will
-generate a warning. These were not intended for public use; there are
-equivalent, faster, macros for most of them.
-See L<perlapi/Character classes>. The complete list (including some
-that were deprecated in 5.17.7) is:
-C<is_uni_alnum>, C<is_uni_alnumc>, C<is_uni_alnumc_lc>,
-C<is_uni_alnum_lc>, C<is_uni_alpha>, C<is_uni_alpha_lc>,
-C<is_uni_ascii>, C<is_uni_ascii_lc>, C<is_uni_blank>,
-C<is_uni_blank_lc>, C<is_uni_cntrl>, C<is_uni_cntrl_lc>,
-C<is_uni_digit>, C<is_uni_digit_lc>, C<is_uni_graph>,
-C<is_uni_graph_lc>, C<is_uni_idfirst>, C<is_uni_idfirst_lc>,
-C<is_uni_lower>, C<is_uni_lower_lc>, C<is_uni_print>,
-C<is_uni_print_lc>, C<is_uni_punct>, C<is_uni_punct_lc>,
-C<is_uni_space>, C<is_uni_space_lc>, C<is_uni_upper>,
-C<is_uni_upper_lc>, C<is_uni_xdigit>, C<is_uni_xdigit_lc>,
-C<is_utf8_alnum>, C<is_utf8_alnumc>, C<is_utf8_alpha>,
-C<is_utf8_ascii>, C<is_utf8_blank>, C<is_utf8_char>,
-C<is_utf8_cntrl>, C<is_utf8_digit>, C<is_utf8_graph>,
-C<is_utf8_idcont>, C<is_utf8_idfirst>, C<is_utf8_lower>,
-C<is_utf8_mark>, C<is_utf8_perl_space>, C<is_utf8_perl_word>,
-C<is_utf8_posix_digit>, C<is_utf8_print>, C<is_utf8_punct>,
-C<is_utf8_space>, C<is_utf8_upper>, C<is_utf8_xdigit>,
-C<is_utf8_xidcont>, C<is_utf8_xidfirst>.
-
-In addition these three functions that have never worked properly are
-deprecated:
-C<to_uni_lower_lc>, C<to_uni_title_lc>, and C<to_uni_upper_lc>.
-
-=head2 Certain rare uses of backslashes within regexes are now deprectated
-
-There are three pairs of characters that Perl recognizes as
-metacharacters in regular expression patterns: C<{}>, C<[]>, and C<()>.
-These can be used as well to delimit patterns, as in:
-
- m{foo}
- s(foo)(bar)
-
-Since they are metacharacters, they have special meaning to regular
-expression patterns, and it turns out that you can't turn off that
-special meaning by the normal means of preceding them with a backslash,
-if you use them, paired, within a pattern delimitted by them. For
-example, in
-
- m{foo\{1,3\}}
-
-the backslashes do not change the behavior, and this matches
-S<C<"f o">> followed by one to three more occurrences of C<"o">.
-
-Usages like this, where they are interpreted as metacharacters, are
-exceedingly rare; we think there are none, for example, in all of CPAN.
-Hence, this deprecation should affect very little code. It does give
-notice, however, that any such code needs to change, which will in turn
-allow us to change the behavior in future Perl versions so that the
-backslashes do have an effect, and without fear that we are silently
-breaking any existing code.
-
-=head1 Modules and Pragmata
-
-=head2 Selected Updates to Modules and Pragmata
-
-=over 4
-
-=item *
-
-Several modules have had their version number changed to one with no
-underscore, since such version numbers are usually interpreted to mean
-"development-only version". No other changes have been made in these cases.
-The affected modules are:
-
-=over 4
-
-=item *
-
-L<I18N::Langinfo> was 0.08_02 and is now 0.09
-
-=item *
-
-L<I18N::LangTags::List> was 0.35_01 and is now 0.39
-
-=item *
-
-L<IO> was 1.25_08 and is now 1.26
-
-=item *
-
-L<Safe> was 2.33_01 and is now 2.34
-
-=item *
-
-L<Test> was 1.25_02 and is now 1.26.
-
-=back
-
-=item *
-
-L<Digest::SHA> has been upgraded from version 5.80 to 5.81. This fixes a
-double-free bug, which might have caused vulnerabilities in some cases.
-
-=item *
-
-L<Module::CoreList> has been upgraded from 2.79 to 2.80.
-
-=item *
-
-L<Socket> has been upgraded from 2.006_001 to 2.009. This fixes an
-uninitialized memory read.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=head3 New Warnings
-
-=over 4
-
-=item *
-
-L<'%s' resolved to '\o{%s}%d'|perldiag/"'%s' resolved to '\o{%s}%d'">
-
-=item *
-
-L<'Trailing white-space in a charnames alias definition is deprecated'|perldiag/"Trailing white-space in a charnames alias definition is deprecated">
-
-=item *
-
-L<'A sequence of multiple spaces in a charnames alias definition is deprecated'|perldiag/"A sequence of multiple spaces in a charnames alias definition is deprecated">
-
-=item *
-
-L<'Passing malformed UTF-8 to "%s" is deprecated'|perldiag/"Passing malformed UTF-8 to "%s" is deprecated">
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-Many more of the core's tests now have descriptions.
-
-=item *
-
-Thread stress-tests now adapt to the speed of the machine running the tests,
-thus reducing the incidence of false failures.
-
-=back
-
-=head1 Platform Support
-
-=head2 Discontinued Platforms
-
-=over 4
-
-=item Rhapsody
-
-Support for Rhapsody has been removed.
-
-=back
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Windows
-
-Perl can now be built using Microsoft's Visual C++ 2012 compiler by specifying
-CCTYPE=MSVC110 (or MSVC110FREE if you are using the free Express edition for
-Windows Desktop) in F<win32/Makefile>.
-
-=item Haiku
-
-Perl should now work out of the box on Haiku R1 Alpha 4.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-A synonym for the misleadingly named C<av_len()> has been created:
-C<av_top()>. Both of these return the number of the highest index in
-the array, not the number of elements it contains.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-A bug in the core typemap caused any C types that map to the T_BOOL core
-typemap entry to not be set, updated, or modified when the T_BOOL variable was
-used in an OUTPUT: section with an exception for RETVAL. T_BOOL in an INPUT:
-section was not affected. Using a T_BOOL return type for an XSUB (RETVAL)
-was not affected. A side effect of fixing this bug is, if a T_BOOL is specified
-in the OUTPUT: section (which previous did nothing to the SV), and a read only
-SV (literal) is passed to the XSUB, croaks like "Modification of a read-only
-value attempted" will happen. [perl #115796]
-
-=item *
-
-On many platforms, providing a directory name as the script name caused perl
-to do nothing and report success. It should now universally report an error
-and exit nonzero. [perl #61362]
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
-=item *
-
-Perl 5.17.7 introduced a new internal copy-on-write mechanism, in the
-interests of speed. An flaw in the implementation means that some regexp
-matches which previously completed very fast, without invoking the full
-regexp engine, now run much slower than before. We expect this performance
-problem to be resolved before 5.18.0 is released.
-
-=item *
-
-The C<POSIX> module may yield test failures when building on a ZFS
-filesystem under FreeBSD.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.8 represents approximately 5 weeks of development since Perl 5.17.7
-and contains approximately 18,000 lines of changes across 280 files from 24
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.17.8:
-
-Aaron Crane, Andy Dougherty, Augustina Blair, Chris 'BinGOs' Williams, Craig
-A. Berry, Daniel Dragan, Dave Rolsky, David Mitchell, Eric Brine, Father
-Chrysostomos, H.Merijn Brand, James E Keenan, Jerry D. Hedden, Jesse Luehrs,
-Karl Williamson, Matthew Horsfall, Nicholas Clark, Renee Baecker, Ricardo
-Signes, Shlomi Fish, Steffen Müller, Steve Hay, Steven Schubiger, Tony Cook.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
+++ /dev/null
-=encoding utf8
-
-=head1 NAME
-
-perl5179delta - what is new for perl v5.17.9
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.17.8 release and the 5.17.9
-release.
-
-If you are upgrading from an earlier release such as 5.17.7, first read
-L<perl5178delta>, which describes differences between 5.17.7 and 5.17.8.
-
-=head1 Core Enhancements
-
-=head2 Interpolations now Accepted in Regular Expression Set Operations
-
-Perl v5.17.8 introduced L<regular expression set operations|perlre/(?[ ])>.
-They have now been expanded to allow the interpolation of a
-previously-compiled set into a bigger set, like this:
-
- my $thai_or_lao = qr/\p{Thai} + \p{Lao}/;
- ...
- qr/(?[ \p{Digit} & $thai_or_lao ])/;
-
-=head1 Incompatible Changes
-
-=head2 C<$ENV{foo} = undef> no longer deletes value from environ
-
-5.17.3 Introduced a change where assiging C<undef> to an C<%ENV> key was equivalent
-to C<delete $ENV{foo}>.
-
-This release reverts that change.
-
-=head1 Deprecations
-
-The deprecation of lexical C<$_> in 5.17.7 has been commuted. The feature
-is now marked experimental.
-
-=head2 Deprecated pragma
-
-=over
-
-=item L<encoding>
-
-This module is deprecated under perl 5.18. It uses a mechanism provided by
-perl that is deprecated under 5.18 and higher, and may be removed in a
-future version.
-
-=back
-
-=head2 Deprecated Modules
-
-The following modules will be removed from the core distribution in a
-future release, and should be installed from CPAN instead. Distributions
-on CPAN which require these should add them to their prerequisites. The
-core versions of these modules C<warnings> will issue a deprecation warning.
-
-You can silence these deprecation warnings by installing the modules
-in question from CPAN.
-
-=over
-
-=item L<Archive::Extract>
-
-=item L<B::Lint>
-
-=item L<B::Lint::Debug>
-
-=item L<CPANPLUS>
-
-=item L<CPANPLUS::Backend>
-
-=item L<CPANPLUS::Backend::RV>
-
-=item L<CPANPLUS::Config>
-
-=item L<CPANPLUS::Config::HomeEnv>
-
-=item L<CPANPLUS::Configure>
-
-=item C<CPANPLUS::Configure::Setup>
-
-=item L<CPANPLUS::Dist>
-
-=item L<CPANPLUS::Dist::Autobundle>
-
-=item L<CPANPLUS::Dist::Base>
-
-=item L<CPANPLUS::Dist::Build>
-
-=item L<CPANPLUS::Dist::Build::Constants>
-
-=item L<CPANPLUS::Dist::MM>
-
-=item L<CPANPLUS::Dist::Sample>
-
-=item L<CPANPLUS::Error>
-
-=item L<CPANPLUS::Internals>
-
-=item C<CPANPLUS::Internals::Constants>
-
-=item C<CPANPLUS::Internals::Constants::Report>
-
-=item L<CPANPLUS::Internals::Extract>
-
-=item L<CPANPLUS::Internals::Fetch>
-
-=item L<CPANPLUS::Internals::Report>
-
-=item L<CPANPLUS::Internals::Search>
-
-=item L<CPANPLUS::Internals::Source>
-
-=item L<CPANPLUS::Internals::Source::Memory>
-
-=item L<CPANPLUS::Internals::Source::SQLite>
-
-=item C<CPANPLUS::Internals::Source::SQLite::Tie>
-
-=item L<CPANPLUS::Internals::Utils>
-
-=item C<CPANPLUS::Internals::Utils::Autoflush>
-
-=item L<CPANPLUS::Module>
-
-=item L<CPANPLUS::Module::Author>
-
-=item L<CPANPLUS::Module::Author::Fake>
-
-=item L<CPANPLUS::Module::Checksums>
-
-=item L<CPANPLUS::Module::Fake>
-
-=item C<CPANPLUS::Module::Signature>
-
-=item L<CPANPLUS::Selfupdate>
-
-=item L<CPANPLUS::Shell>
-
-=item L<CPANPLUS::Shell::Classic>
-
-=item L<CPANPLUS::Shell::Default>
-
-=item L<CPANPLUS::Shell::Default::Plugins::CustomSource>
-
-=item L<CPANPLUS::Shell::Default::Plugins::Remote>
-
-=item L<CPANPLUS::Shell::Default::Plugins::Source>
-
-=item L<Devel::InnerPackage>
-
-=item L<Log::Message>
-
-=item L<Log::Message::Config>
-
-=item L<Log::Message::Handlers>
-
-=item L<Log::Message::Item>
-
-=item L<Log::Message::Simple>
-
-=item L<Module::Pluggable>
-
-=item L<Module::Pluggable::Object>
-
-=item L<Object::Accessor>
-
-=item L<Term::UI>
-
-=item L<Term::UI::History>
-
-=back
-
-=head3 Deprecated Utilities
-
-The following utilities will be removed from the core distribution in a
-future release as their associated modules have been deprecated. They
-will remain available with the applicable CPAN distribution.
-
-=over
-
-=item L<cpanp>
-
-Included with L<CPANPLUS>.
-
-=item C<cpanp-run-perl>
-
-Included with L<CPANPLUS>.
-
-=item L<cpan2dist>
-
-Included with L<CPANPLUS>.
-
-=item L<pod2latex>
-
-The L<Pod::LaTeX> module was deprecated with 5.17.8.
-
-=back
-
-=head2 Five additional characters should be escaped in patterns with C</x>
-
-When a regular expression pattern is compiled with C</x>, Perl treats 6
-characters as white space to ignore, such as SPACE and TAB. However,
-Unicode recommends 11 characters be treated thusly. In preparation to
-conforming with this in a future Perl version, in the meantime, use of
-any of the missing characters will raise a deprecation warning, unless
-turned off. The five characters are:
-U+0085 NEXT LINE,
-U+200E LEFT-TO-RIGHT MARK,
-U+200F RIGHT-TO-LEFT MARK,
-U+2028 LINE SEPARATOR,
-and
-U+2029 PARAGRAPH SEPARATOR.
-
-=head1 Modules and Pragmata
-
-=head2 New Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<Config::Perl::V> version 0.16 has been added as a dual-lifed module.
-It provides structured data retrieval of C<perl -V> output including
-information only known to the C<perl> binary and not available via L<Config>.
-
-=back
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<Archive::Extract> has been upgraded from version 0.62 to 0.68.
-
-NOTE: L<Archive::Extract> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Attribute::Handlers> has been upgraded from version 0.93 to 0.94.
-
-=item *
-
-L<B::Lint> has been upgraded from version 1.14 to 1.17.
-
-NOTE: L<B::Lint> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Benchmark> has been upgraded from version 1.13 to 1.14.
-
-The "too few iterations" message is now a warning on STDERR
-instead of being output on STDOUT.
-
-=item *
-
-L<bignum> has been upgraded from version 0.31 to 0.32.
-
-=item *
-
-L<CPAN> has been upgraded from version 1.99_51 to 2.00.
-
-=item *
-
-L<CPANPLUS> has been upgraded from version 0.9133 to 0.9135.
-
-NOTE: L<CPANPLUS> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<CPANPLUS::Dist::Build> has been upgraded from version 0.68 to 0.70.
-
-NOTE: L<CPANPLUS::Dist::Build> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Data::Dumper> has been upgraded from version 2.141 to 2.142.
-
-Additional tests were added in order to improve statement, branch, condition
-and subroutine coverage. On the basis of the coverage analysis, some of the
-internals of Dumper.pm were refactored. Almost all methods are now
-documented.
-
-=item *
-
-L<DBM_Filter> has been upgraded from version 0.04 to 0.05.
-
-=item *
-
-L<Digest::SHA> has been upgraded from version 5.81 to 5.82.
-
-=item *
-
-L<Encode> has been upgraded from version 2.47 to 2.48.
-
-=item *
-
-L<ExtUtils::Manifest> has been upgraded from version 1.62 to 1.63.
-
-=item *
-
-L<File::CheckTree> has been upgraded from version 4.41 to 4.42.
-
-=item *
-
-L<File::DosGlob> has been upgraded from version 1.09 to 1.10.
-
-=item *
-
-L<File::Temp> has been upgraded from version 0.22 to 0.22_90
-
-Fixes various bugs involving directory removal. Defers unlinking tempfiles if
-the initial unlink fails, which fixes problems on NFS.
-
-=item *
-
-L<Filter::Simple> has been upgraded from version 0.88 to 0.89.
-
-=item *
-
-L<IO> has been upgraded from version 1.26 to 1.27.
-
-=item *
-
-L<Log::Message> has been upgraded from version 0.04 to 0.06.
-
-NOTE: L<Log::Message> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Log::Message::Simple> has been upgraded from version 0.08 to 0.10.
-
-NOTE: L<Log::Message::Simple> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Math::BigInt> has been upgraded from version 1.998 to 1.999.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 2.80 to 2.82.
-
-=item *
-
-L<Module::Load> has been upgraded from version 0.22 to 0.24.
-
-=item *
-
-L<Module::Pluggable> has been upgraded from version 4.5 to 4.6.
-
-NOTE: L<Module::Pluggable> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Object::Accessor> has been upgraded from version 0.44 to 0.46.
-
-NOTE: L<Object::Accessor> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<overload> has been upgraded from version 1.20 to 1.21.
-
-=item *
-
-L<PerlIO::scalar> has been upgraded from version 0.15 to 0.16.
-
-The buffer scalar supplied may now only contain code pounts 0xFF or
-lower. [perl #109828]
-
-=item *
-
-L<Pod::Checker> has been upgraded from version 1.51 to 1.60.
-
-=item *
-
-L<Pod::Html> has been upgraded from version 1.17 to 1.18.
-
-=item *
-
-L<Pod::Parser> has been upgraded from version 1.51 to 1.60.
-
-=item *
-
-L<Pod::Perldoc> has been upgraded from version 3.17 to 3.19.
-
-=item *
-
-L<Pod::Usage> has been upgraded from version 1.51 to 1.61.
-
-=item *
-
-L<SelfLoader> has been upgraded from version 1.20 to 1.21.
-
-=item *
-
-L<Term::UI> has been upgraded from version 0.32 to 0.34.
-
-NOTE: L<Term::UI> is deprecated and may be removed from a future version of Perl.
-
-=item *
-
-L<Test::Harness> has been upgraded from version 3.25_01 to 3.26.
-
-=item *
-
-L<Text::Soundex> has been upgraded from version 3.03_01 to 3.04.
-
-=item *
-
-L<Thread::Queue> has been upgraded from version 3.01 to 3.02.
-
-=item *
-
-L<Unicode::UCD> has been upgraded from version 0.47 to 0.50.
-
-=item *
-
-L<warnings> has been upgraded from version 1.16 to 1.17.
-
-=item *
-
-L<Win32> has been upgraded from version 0.45 to 0.46.
-
-=item *
-
-L<Win32API::File> has been upgraded from version 0.1200 to 0.1201.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlsec>
-
-=over 4
-
-=item *
-
-A syntax error was fixed in one of illustrative examples.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=head3 New Warnings
-
-=over 4
-
-=item *
-
-Strings with code points over 0xFF may not be mapped into in-memory file handles
-
-=back
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-The warnings for \b{ and \B{ were added in the 5.17 series; they are a
-deprecation warning which should be turned off by that category. One
-should not have to turn off regular regexp warnings as well to get rid
-of these.
-
-=back
-
-=head1 Utility Changes
-
-=head3 L<corelist>
-
-=over 4
-
-=item *
-
-Added C<--feature> switch which lists the first version bundle of each
-named feature given.
-
-=item *
-
-Added C<--upstream> switch which shows if the given module
-is primarily maintained in perl core or on CPAN and bug tracker URL.
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-Added C<useversionedarchname> option to Configure
-
-When set, it includes 'api_versionstring' in 'archname'. E.g.
-x86_64-linux-5.13.6-thread-multi. It is unset by default.
-
-This feature was requested by Tim Bunce, who observed that
-INSTALL_BASE creates a library structure that does not
-differentiate by perl version. Instead, it places architecture
-specific files in "$install_base/lib/perl5/$archname". This makes
-it difficult to use a common INSTALL_BASE library path with
-multiple versions of perl.
-
-By setting -Duseversionedarchname, the $archname will be
-distinct for architecture *and* API version, allowing mixed use of
-INSTALL_BASE.
-
-=item *
-
-Configure will honour the external C<MAILDOMAIN> environment variable, if set.
-
-=item *
-
-C<installman> no longer ignores the silent option
-
-=item *
-
-Both C<META.yml> and C<META.json> files are now included in the distribution.
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-Enable perl core tests to pass when locale support is not available.
-
-use L<locale> - this will now die if $Config{d_setlocale} is not true.
-All tests that use L<locale> will skip if $Config{d_setlocale} is not true.
-This enables us to pass tests on Android which uses ICU instead of locales.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item VMS
-
-The character set for Extended Filename Syntax (EFS) is now enabled by default on
-VMS. Among other things, this provides better handling of dots in directory names,
-multiple dots in filenames,and spaces in filenames. To obtain the old behavior,
-set the logical name C<DECC$EFS_CHARSET> to C<DISABLE>.
-
-=item MidnightBSD
-
-C<libc_r> was removed from recent versions of MidnightBSD and older versions
-work better with C<pthread>. Threading is now enabled using C<pthread> which
-corrects build errors with threading enabled on 0.4-CURRENT.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-Synonyms for the misleadingly named C<av_len()> has been created:
-C<av_top_index()> and C<av_tindex>. All three of these return the
-number of the highest index in the array, not the number of elements it
-contains. (The name C<av_top> which was introduced in Perl v.5.17.8 has
-been removed.)
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
--DPERL_GLOBAL_STRUCT builds now free the global struct B<after>
-they've finished using it.
-
-=item *
-
-A trailing '/' on a path in @INC will no longer have an additional '/' appended.
-
-=item *
-
-The C<:crlf> layer now works when unread data doesn't fit into its own
-buffer. [perl #112244].
-
-=item *
-
-C<ungetc()> now handles UTF-8 encoded data. [perl #116322].
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.17.9 represents approximately 4 weeks of development since Perl 5.17.8
-and contains approximately 42,000 lines of changes across 510 files from 35
-authors.
-
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.17.9:
-
-Aaron Crane, Alan Haggai Alavi, Alexandr Ciornii, Andy Dougherty, Brad
-Gilbert, Chris 'BinGOs' Williams, Christian Hansen, Craig A. Berry, Dagfinn
-Ilmari Mannsåker, Daniel Dragan, Dave Rolsky, David Golden, David Mitchell,
-Father Chrysostomos, H.Merijn Brand, James E Keenan, Jan Dubois, Jerry D.
-Hedden, Jess Robinson, Karl Williamson, Kent Fredric, Leon Timmermans, Lucas
-Holt, Matthew Horsfall, Nicholas Clark, Peter Martini, Rafael Garcia-Suarez,
-Ricardo Signes, Smylers, Steffen Müller, Steve Hay, Thomas Sibley, Tobias
-Leich, Tony Cook.
-
-The list above is almost certainly incomplete as it is automatically generated
-from version control history. In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
-
-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.
-
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
-
-=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 L<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 will 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
extra.pods : miniperl
@ @extra_pods.com
-PERLDELTA_CURRENT = [.pod]perl51711delta.pod
+PERLDELTA_CURRENT = [.pod]perl5180delta.pod
$(PERLDELTA_CURRENT) : [.pod]perldelta.pod
Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT)
copy ..\README.tw ..\pod\perltw.pod
copy ..\README.vos ..\pod\perlvos.pod
copy ..\README.win32 ..\pod\perlwin32.pod
- copy ..\pod\perldelta.pod ..\pod\perl51711delta.pod
+ copy ..\pod\perldelta.pod ..\pod\perl5180delta.pod
cd ..\win32
$(PERLEXE) $(PL2BAT) $(UTILS)
$(PERLEXE) $(ICWD) ..\autodoc.pl ..
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-cd $(PODDIR) && del /f *.html *.bat roffitall \
- perl51711delta.pod perlaix.pod perlamiga.pod perlapi.pod \
+ perl5180delta.pod perlaix.pod perlamiga.pod perlapi.pod \
perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
perldgux.pod perldos.pod perlfreebsd.pod perlhaiku.pod \
perlhpux.pod perlhurd.pod perlintern.pod perlirix.pod \
copy ..\README.tw ..\pod\perltw.pod
copy ..\README.vos ..\pod\perlvos.pod
copy ..\README.win32 ..\pod\perlwin32.pod
- copy ..\pod\perldelta.pod ..\pod\perl51711delta.pod
+ copy ..\pod\perldelta.pod ..\pod\perl5180delta.pod
$(PERLEXE) $(PL2BAT) $(UTILS)
$(PERLEXE) $(ICWD) ..\autodoc.pl ..
$(PERLEXE) $(ICWD) ..\pod\perlmodlib.pl -q
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-cd $(PODDIR) && del /f *.html *.bat roffitall \
- perl51711delta.pod perlaix.pod perlamiga.pod perlapi.pod \
+ perl5180delta.pod perlaix.pod perlamiga.pod perlapi.pod \
perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
perldgux.pod perldos.pod perlfreebsd.pod perlhaiku.pod \
perlhpux.pod perlhurd.pod perlintern.pod perlirix.pod \
perl5161delta.pod \
perl5162delta.pod \
perl5163delta.pod \
- perl5170delta.pod \
- perl51710delta.pod \
- perl51711delta.pod \
- perl5171delta.pod \
- perl5172delta.pod \
- perl5173delta.pod \
- perl5174delta.pod \
- perl5175delta.pod \
- perl5176delta.pod \
- perl5177delta.pod \
- perl5178delta.pod \
- perl5179delta.pod \
+ perl5180delta.pod \
perl561delta.pod \
perl56delta.pod \
perl581delta.pod \
perl5161delta.man \
perl5162delta.man \
perl5163delta.man \
- perl5170delta.man \
- perl51710delta.man \
- perl51711delta.man \
- perl5171delta.man \
- perl5172delta.man \
- perl5173delta.man \
- perl5174delta.man \
- perl5175delta.man \
- perl5176delta.man \
- perl5177delta.man \
- perl5178delta.man \
- perl5179delta.man \
+ perl5180delta.man \
perl561delta.man \
perl56delta.man \
perl581delta.man \
perl5161delta.html \
perl5162delta.html \
perl5163delta.html \
- perl5170delta.html \
- perl51710delta.html \
- perl51711delta.html \
- perl5171delta.html \
- perl5172delta.html \
- perl5173delta.html \
- perl5174delta.html \
- perl5175delta.html \
- perl5176delta.html \
- perl5177delta.html \
- perl5178delta.html \
- perl5179delta.html \
+ perl5180delta.html \
perl561delta.html \
perl56delta.html \
perl581delta.html \
perl5161delta.tex \
perl5162delta.tex \
perl5163delta.tex \
- perl5170delta.tex \
- perl51710delta.tex \
- perl51711delta.tex \
- perl5171delta.tex \
- perl5172delta.tex \
- perl5173delta.tex \
- perl5174delta.tex \
- perl5175delta.tex \
- perl5176delta.tex \
- perl5177delta.tex \
- perl5178delta.tex \
- perl5179delta.tex \
+ perl5180delta.tex \
perl561delta.tex \
perl56delta.tex \
perl581delta.tex \