summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl.straw/lib/pods/perl5101delta.pod
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl.straw/lib/pods/perl5101delta.pod')
-rwxr-xr-xMaster/tlpkg/tlperl.straw/lib/pods/perl5101delta.pod1772
1 files changed, 0 insertions, 1772 deletions
diff --git a/Master/tlpkg/tlperl.straw/lib/pods/perl5101delta.pod b/Master/tlpkg/tlperl.straw/lib/pods/perl5101delta.pod
deleted file mode 100755
index 508990c7aac..00000000000
--- a/Master/tlpkg/tlperl.straw/lib/pods/perl5101delta.pod
+++ /dev/null
@@ -1,1772 +0,0 @@
-=head1 NAME
-
-perldelta - what is new for perl v5.10.1
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.10.0 release and
-the 5.10.1 release.
-
-If you are upgrading from an earlier release such as 5.8.8, first read
-the L<perl5100delta>, which describes differences between 5.8.8 and
-5.10.0
-
-=head1 Incompatible Changes
-
-=head2 Switch statement changes
-
-The handling of complex expressions by the C<given>/C<when> switch
-statement has been enhanced. There are two new cases where C<when> now
-interprets its argument as a boolean, instead of an expression to be used
-in a smart match:
-
-=over 4
-
-=item flip-flop operators
-
-The C<..> and C<...> flip-flop operators are now evaluated in boolean
-context, following their usual semantics; see L<perlop/"Range Operators">.
-
-Note that, as in perl 5.10.0, C<when (1..10)> will not work to test
-whether a given value is an integer between 1 and 10; you should use
-C<when ([1..10])> instead (note the array reference).
-
-However, contrary to 5.10.0, evaluating the flip-flop operators in boolean
-context ensures it can now be useful in a C<when()>, notably for
-implementing bistable conditions, like in:
-
- when (/^=begin/ .. /^=end/) {
- # do something
- }
-
-=item defined-or operator
-
-A compound expression involving the defined-or operator, as in
-C<when (expr1 // expr2)>, will be treated as boolean if the first
-expression is boolean. (This just extends the existing rule that applies
-to the regular or operator, as in C<when (expr1 || expr2)>.)
-
-=back
-
-The next section details more changes brought to the semantics to
-the smart match operator, that naturally also modify the behaviour
-of the switch statements where smart matching is implicitly used.
-
-=head2 Smart match changes
-
-=head3 Changes to type-based dispatch
-
-The smart match operator C<~~> is no longer commutative. The behaviour of
-a smart match now depends primarily on the type of its right hand
-argument. Moreover, its semantics have been adjusted for greater
-consistency or usefulness in several cases. While the general backwards
-compatibility is maintained, several changes must be noted:
-
-=over 4
-
-=item *
-
-Code references with an empty prototype are no longer treated specially.
-They are passed an argument like the other code references (even if they
-choose to ignore it).
-
-=item *
-
-C<%hash ~~ sub {}> and C<@array ~~ sub {}> now test that the subroutine
-returns a true value for each key of the hash (or element of the
-array), instead of passing the whole hash or array as a reference to
-the subroutine.
-
-=item *
-
-Due to the commutativity breakage, code references are no longer
-treated specially when appearing on the left of the C<~~> operator,
-but like any vulgar scalar.
-
-=item *
-
-C<undef ~~ %hash> is always false (since C<undef> can't be a key in a
-hash). No implicit conversion to C<""> is done (as was the case in perl
-5.10.0).
-
-=item *
-
-C<$scalar ~~ @array> now always distributes the smart match across the
-elements of the array. It's true if one element in @array verifies
-C<$scalar ~~ $element>. This is a generalization of the old behaviour
-that tested whether the array contained the scalar.
-
-=back
-
-The full dispatch table for the smart match operator is given in
-L<perlsyn/"Smart matching in detail">.
-
-=head3 Smart match and overloading
-
-According to the rule of dispatch based on the rightmost argument type,
-when an object overloading C<~~> appears on the right side of the
-operator, the overload routine will always be called (with a 3rd argument
-set to a true value, see L<overload>.) However, when the object will
-appear on the left, the overload routine will be called only when the
-rightmost argument is a simple scalar. This way distributivity of smart match
-across arrays is not broken, as well as the other behaviours with complex
-types (coderefs, hashes, regexes). Thus, writers of overloading routines
-for smart match mostly need to worry only with comparing against a scalar,
-and possibly with stringification overloading; the other common cases
-will be automatically handled consistently.
-
-C<~~> will now refuse to work on objects that do not overload it (in order
-to avoid relying on the object's underlying structure). (However, if the
-object overloads the stringification or the numification operators, and
-if overload fallback is active, it will be used instead, as usual.)
-
-=head2 Other incompatible changes
-
-=over 4
-
-=item *
-
-The semantics of C<use feature :5.10*> have changed slightly.
-See L<"Modules and Pragmata"> for more information.
-
-=item *
-
-It is now a run-time error to use the smart match operator C<~~>
-with an object that has no overload defined for it. (This way
-C<~~> will not break encapsulation by matching against the
-object's internal representation as a reference.)
-
-=item *
-
-The version control system used for the development of the perl
-interpreter has been switched from Perforce to git. This is mainly an
-internal issue that only affects people actively working on the perl core;
-but it may have minor external visibility, for example in some of details
-of the output of C<perl -V>. See L<perlrepository> for more information.
-
-=item *
-
-The internal structure of the C<ext/> directory in the perl source has
-been reorganised. In general, a module C<Foo::Bar> whose source was
-stored under F<ext/Foo/Bar/> is now located under F<ext/Foo-Bar/>. Also,
-some modules have been moved from F<lib/> to F<ext/>. This is purely a
-source tarball change, and should make no difference to the compilation or
-installation of perl, unless you have a very customised build process that
-explicitly relies on this structure, or which hard-codes the C<nonxs_ext>
-F<Configure> parameter. Specifically, this change does not by default
-alter the location of any files in the final installation.
-
-=item *
-
-As part of the C<Test::Harness> 2.x to 3.x upgrade, the experimental
-C<Test::Harness::Straps> module has been removed.
-See L</"Updated Modules"> for more details.
-
-=item *
-
-As part of the C<ExtUtils::MakeMaker> upgrade, the
-C<ExtUtils::MakeMaker::bytes> and C<ExtUtils::MakeMaker::vmsish> modules
-have been removed from this distribution.
-
-=item *
-
-C<Module::CoreList> no longer contains the C<%:patchlevel> hash.
-
-=item *
-
-This one is actually a change introduced in 5.10.0, but it was missed
-from that release's perldelta, so it is mentioned here instead.
-
-A bugfix related to the handling of the C</m> modifier and C<qr> resulted
-in a change of behaviour between 5.8.x and 5.10.0:
-
- # matches in 5.8.x, doesn't match in 5.10.0
- $re = qr/^bar/; "foo\nbar" =~ /$re/m;
-
-=back
-
-=head1 Core Enhancements
-
-=head2 Unicode Character Database 5.1.0
-
-The copy of the Unicode Character Database included in Perl 5.10.1 has
-been updated to 5.1.0 from 5.0.0. See
-L<http://www.unicode.org/versions/Unicode5.1.0/#NotableChanges> for the
-notable changes.
-
-=head2 A proper interface for pluggable Method Resolution Orders
-
-As of Perl 5.10.1 there is a new interface for plugging and using method
-resolution orders other than the default (linear depth first search).
-The C3 method resolution order added in 5.10.0 has been re-implemented as
-a plugin, without changing its Perl-space interface. See L<perlmroapi> for
-more information.
-
-=head2 The C<overloading> pragma
-
-This pragma allows you to lexically disable or enable overloading
-for some or all operations. (Yuval Kogman)
-
-=head2 Parallel tests
-
-The core distribution can now run its regression tests in parallel on
-Unix-like platforms. Instead of running C<make test>, set C<TEST_JOBS> in
-your environment to the number of tests to run in parallel, and run
-C<make test_harness>. On a Bourne-like shell, this can be done as
-
- TEST_JOBS=3 make test_harness # Run 3 tests in parallel
-
-An environment variable is used, rather than parallel make itself, because
-L<TAP::Harness> needs to be able to schedule individual non-conflicting test
-scripts itself, and there is no standard interface to C<make> utilities to
-interact with their job schedulers.
-
-Note that currently some test scripts may fail when run in parallel (most
-notably C<ext/IO/t/io_dir.t>). If necessary run just the failing scripts
-again sequentially and see if the failures go away.
-
-=head2 DTrace support
-
-Some support for DTrace has been added. See "DTrace support" in F<INSTALL>.
-
-=head2 Support for C<configure_requires> in CPAN module metadata
-
-Both C<CPAN> and C<CPANPLUS> now support the C<configure_requires> keyword
-in the C<META.yml> metadata file included in most recent CPAN distributions.
-This allows distribution authors to specify configuration prerequisites that
-must be installed before running F<Makefile.PL> or F<Build.PL>.
-
-See the documentation for C<ExtUtils::MakeMaker> or C<Module::Build> for more
-on how to specify C<configure_requires> when creating a distribution for CPAN.
-
-=head1 Modules and Pragmata
-
-=head2 New Modules and Pragmata
-
-=over 4
-
-=item C<autodie>
-
-This is a new lexically-scoped alternative for the C<Fatal> module.
-The bundled version is 2.06_01. Note that in this release, using a string
-eval when C<autodie> is in effect can cause the autodie behaviour to leak
-into the surrounding scope. See L<autodie/"BUGS"> for more details.
-
-=item C<Compress::Raw::Bzip2>
-
-This has been added to the core (version 2.020).
-
-=item C<parent>
-
-This pragma establishes an ISA relationship with base classes at compile
-time. It provides the key feature of C<base> without the feature creep.
-
-=item C<Parse::CPAN::Meta>
-
-This has been added to the core (version 1.39).
-
-=back
-
-=head2 Pragmata Changes
-
-=over 4
-
-=item C<attributes>
-
-Upgraded from version 0.08 to 0.09.
-
-=item C<attrs>
-
-Upgraded from version 1.02 to 1.03.
-
-=item C<base>
-
-Upgraded from version 2.13 to 2.14. See L<parent> for a replacement.
-
-=item C<bigint>
-
-Upgraded from version 0.22 to 0.23.
-
-=item C<bignum>
-
-Upgraded from version 0.22 to 0.23.
-
-=item C<bigrat>
-
-Upgraded from version 0.22 to 0.23.
-
-=item C<charnames>
-
-Upgraded from version 1.06 to 1.07.
-
-The Unicode F<NameAliases.txt> database file has been added. This has the
-effect of adding some extra C<\N> character names that formerly wouldn't
-have been recognised; for example, C<"\N{LATIN CAPITAL LETTER GHA}">.
-
-=item C<constant>
-
-Upgraded from version 1.13 to 1.17.
-
-=item C<feature>
-
-The meaning of the C<:5.10> and C<:5.10.X> feature bundles has
-changed slightly. The last component, if any (i.e. C<X>) is simply ignored.
-This is predicated on the assumption that new features will not, in
-general, be added to maintenance releases. So C<:5.10> and C<:5.10.X>
-have identical effect. This is a change to the behaviour documented for
-5.10.0.
-
-=item C<fields>
-
-Upgraded from version 2.13 to 2.14 (this was just a version bump; there
-were no functional changes).
-
-=item C<lib>
-
-Upgraded from version 0.5565 to 0.62.
-
-=item C<open>
-
-Upgraded from version 1.06 to 1.07.
-
-=item C<overload>
-
-Upgraded from version 1.06 to 1.07.
-
-=item C<overloading>
-
-See L</"The C<overloading> pragma"> above.
-
-=item C<version>
-
-Upgraded from version 0.74 to 0.77.
-
-=back
-
-=head2 Updated Modules
-
-=over 4
-
-=item C<Archive::Extract>
-
-Upgraded from version 0.24 to 0.34.
-
-=item C<Archive::Tar>
-
-Upgraded from version 1.38 to 1.52.
-
-=item C<Attribute::Handlers>
-
-Upgraded from version 0.79 to 0.85.
-
-=item C<AutoLoader>
-
-Upgraded from version 5.63 to 5.68.
-
-=item C<AutoSplit>
-
-Upgraded from version 1.05 to 1.06.
-
-=item C<B>
-
-Upgraded from version 1.17 to 1.22.
-
-=item C<B::Debug>
-
-Upgraded from version 1.05 to 1.11.
-
-=item C<B::Deparse>
-
-Upgraded from version 0.83 to 0.89.
-
-=item C<B::Lint>
-
-Upgraded from version 1.09 to 1.11.
-
-=item C<B::Xref>
-
-Upgraded from version 1.01 to 1.02.
-
-=item C<Benchmark>
-
-Upgraded from version 1.10 to 1.11.
-
-=item C<Carp>
-
-Upgraded from version 1.08 to 1.11.
-
-=item C<CGI>
-
-Upgraded from version 3.29 to 3.43.
-(also includes the "default_value for popup_menu()" fix from 3.45).
-
-=item C<Compress::Zlib>
-
-Upgraded from version 2.008 to 2.020.
-
-=item C<CPAN>
-
-Upgraded from version 1.9205 to 1.9402. C<CPAN::FTP> has a local fix to
-stop it being too verbose on download failure.
-
-=item C<CPANPLUS>
-
-Upgraded from version 0.84 to 0.88.
-
-=item C<CPANPLUS::Dist::Build>
-
-Upgraded from version 0.06_02 to 0.36.
-
-=item C<Cwd>
-
-Upgraded from version 3.25_01 to 3.30.
-
-=item C<Data::Dumper>
-
-Upgraded from version 2.121_14 to 2.124.
-
-=item C<DB>
-
-Upgraded from version 1.01 to 1.02.
-
-=item C<DB_File>
-
-Upgraded from version 1.816_1 to 1.820.
-
-=item C<Devel::PPPort>
-
-Upgraded from version 3.13 to 3.19.
-
-=item C<Digest::MD5>
-
-Upgraded from version 2.36_01 to 2.39.
-
-=item C<Digest::SHA>
-
-Upgraded from version 5.45 to 5.47.
-
-=item C<DirHandle>
-
-Upgraded from version 1.01 to 1.03.
-
-=item C<Dumpvalue>
-
-Upgraded from version 1.12 to 1.13.
-
-=item C<DynaLoader>
-
-Upgraded from version 1.08 to 1.10.
-
-=item C<Encode>
-
-Upgraded from version 2.23 to 2.35.
-
-=item C<Errno>
-
-Upgraded from version 1.10 to 1.11.
-
-=item C<Exporter>
-
-Upgraded from version 5.62 to 5.63.
-
-=item C<ExtUtils::CBuilder>
-
-Upgraded from version 0.21 to 0.2602.
-
-=item C<ExtUtils::Command>
-
-Upgraded from version 1.13 to 1.16.
-
-=item C<ExtUtils::Constant>
-
-Upgraded from 0.20 to 0.22. (Note that neither of these versions are
-available on CPAN.)
-
-=item C<ExtUtils::Embed>
-
-Upgraded from version 1.27 to 1.28.
-
-=item C<ExtUtils::Install>
-
-Upgraded from version 1.44 to 1.54.
-
-=item C<ExtUtils::MakeMaker>
-
-Upgraded from version 6.42 to 6.55_02.
-
-Note that C<ExtUtils::MakeMaker::bytes> and C<ExtUtils::MakeMaker::vmsish>
-have been removed from this distribution.
-
-=item C<ExtUtils::Manifest>
-
-Upgraded from version 1.51_01 to 1.56.
-
-=item C<ExtUtils::ParseXS>
-
-Upgraded from version 2.18_02 to 2.2002.
-
-=item C<Fatal>
-
-Upgraded from version 1.05 to 2.06_01. See also the new pragma C<autodie>.
-
-=item C<File::Basename>
-
-Upgraded from version 2.76 to 2.77.
-
-=item C<File::Compare>
-
-Upgraded from version 1.1005 to 1.1006.
-
-=item C<File::Copy>
-
-Upgraded from version 2.11 to 2.14.
-
-=item C<File::Fetch>
-
-Upgraded from version 0.14 to 0.20.
-
-=item C<File::Find>
-
-Upgraded from version 1.12 to 1.14.
-
-=item C<File::Path>
-
-Upgraded from version 2.04 to 2.07_03.
-
-=item C<File::Spec>
-
-Upgraded from version 3.2501 to 3.30.
-
-=item C<File::stat>
-
-Upgraded from version 1.00 to 1.01.
-
-=item C<File::Temp>
-
-Upgraded from version 0.18 to 0.22.
-
-=item C<FileCache>
-
-Upgraded from version 1.07 to 1.08.
-
-=item C<FileHandle>
-
-Upgraded from version 2.01 to 2.02.
-
-=item C<Filter::Simple>
-
-Upgraded from version 0.82 to 0.84.
-
-=item C<Filter::Util::Call>
-
-Upgraded from version 1.07 to 1.08.
-
-=item C<FindBin>
-
-Upgraded from version 1.49 to 1.50.
-
-=item C<GDBM_File>
-
-Upgraded from version 1.08 to 1.09.
-
-=item C<Getopt::Long>
-
-Upgraded from version 2.37 to 2.38.
-
-=item C<Hash::Util::FieldHash>
-
-Upgraded from version 1.03 to 1.04. This fixes a memory leak.
-
-=item C<I18N::Collate>
-
-Upgraded from version 1.00 to 1.01.
-
-=item C<IO>
-
-Upgraded from version 1.23_01 to 1.25.
-
-This makes non-blocking mode work on Windows in C<IO::Socket::INET>
-[CPAN #43573].
-
-=item C<IO::Compress::*>
-
-Upgraded from version 2.008 to 2.020.
-
-=item C<IO::Dir>
-
-Upgraded from version 1.06 to 1.07.
-
-=item C<IO::Handle>
-
-Upgraded from version 1.27 to 1.28.
-
-=item C<IO::Socket>
-
-Upgraded from version 1.30_01 to 1.31.
-
-=item C<IO::Zlib>
-
-Upgraded from version 1.07 to 1.09.
-
-=item C<IPC::Cmd>
-
-Upgraded from version 0.40_1 to 0.46.
-
-=item C<IPC::Open3>
-
-Upgraded from version 1.02 to 1.04.
-
-=item C<IPC::SysV>
-
-Upgraded from version 1.05 to 2.01.
-
-=item C<lib>
-
-Upgraded from version 0.5565 to 0.62.
-
-=item C<List::Util>
-
-Upgraded from version 1.19 to 1.21.
-
-=item C<Locale::MakeText>
-
-Upgraded from version 1.12 to 1.13.
-
-=item C<Log::Message>
-
-Upgraded from version 0.01 to 0.02.
-
-=item C<Math::BigFloat>
-
-Upgraded from version 1.59 to 1.60.
-
-=item C<Math::BigInt>
-
-Upgraded from version 1.88 to 1.89.
-
-=item C<Math::BigInt::FastCalc>
-
-Upgraded from version 0.16 to 0.19.
-
-=item C<Math::BigRat>
-
-Upgraded from version 0.21 to 0.22.
-
-=item C<Math::Complex>
-
-Upgraded from version 1.37 to 1.56.
-
-=item C<Math::Trig>
-
-Upgraded from version 1.04 to 1.20.
-
-=item C<Memoize>
-
-Upgraded from version 1.01_02 to 1.01_03 (just a minor documentation
-change).
-
-=item C<Module::Build>
-
-Upgraded from version 0.2808_01 to 0.34_02.
-
-=item C<Module::CoreList>
-
-Upgraded from version 2.13 to 2.18. This release no longer contains the
-C<%Module::CoreList::patchlevel> hash.
-
-=item C<Module::Load>
-
-Upgraded from version 0.12 to 0.16.
-
-=item C<Module::Load::Conditional>
-
-Upgraded from version 0.22 to 0.30.
-
-=item C<Module::Loaded>
-
-Upgraded from version 0.01 to 0.02.
-
-=item C<Module::Pluggable>
-
-Upgraded from version 3.6 to 3.9.
-
-=item C<NDBM_File>
-
-Upgraded from version 1.07 to 1.08.
-
-=item C<Net::Ping>
-
-Upgraded from version 2.33 to 2.36.
-
-=item C<NEXT>
-
-Upgraded from version 0.60_01 to 0.64.
-
-=item C<Object::Accessor>
-
-Upgraded from version 0.32 to 0.34.
-
-=item C<OS2::REXX>
-
-Upgraded from version 1.03 to 1.04.
-
-=item C<Package::Constants>
-
-Upgraded from version 0.01 to 0.02.
-
-=item C<PerlIO>
-
-Upgraded from version 1.04 to 1.06.
-
-=item C<PerlIO::via>
-
-Upgraded from version 0.04 to 0.07.
-
-=item C<Pod::Man>
-
-Upgraded from version 2.16 to 2.22.
-
-=item C<Pod::Parser>
-
-Upgraded from version 1.35 to 1.37.
-
-=item C<Pod::Simple>
-
-Upgraded from version 3.05 to 3.07.
-
-=item C<Pod::Text>
-
-Upgraded from version 3.08 to 3.13.
-
-=item C<POSIX>
-
-Upgraded from version 1.13 to 1.17.
-
-=item C<Safe>
-
-Upgraded from 2.12 to 2.18.
-
-=item C<Scalar::Util>
-
-Upgraded from version 1.19 to 1.21.
-
-=item C<SelectSaver>
-
-Upgraded from 1.01 to 1.02.
-
-=item C<SelfLoader>
-
-Upgraded from 1.11 to 1.17.
-
-=item C<Socket>
-
-Upgraded from 1.80 to 1.82.
-
-=item C<Storable>
-
-Upgraded from 2.18 to 2.20.
-
-=item C<Switch>
-
-Upgraded from version 2.13 to 2.14. Please see L</Deprecations>.
-
-=item C<Symbol>
-
-Upgraded from version 1.06 to 1.07.
-
-=item C<Sys::Syslog>
-
-Upgraded from version 0.22 to 0.27.
-
-=item C<Term::ANSIColor>
-
-Upgraded from version 1.12 to 2.00.
-
-=item C<Term::ReadLine>
-
-Upgraded from version 1.03 to 1.04.
-
-=item C<Term::UI>
-
-Upgraded from version 0.18 to 0.20.
-
-=item C<Test::Harness>
-
-Upgraded from version 2.64 to 3.17.
-
-Note that one side-effect of the 2.x to 3.x upgrade is that the
-experimental C<Test::Harness::Straps> module (and its supporting
-C<Assert>, C<Iterator>, C<Point> and C<Results> modules) have been
-removed. If you still need this, then they are available in the
-(unmaintained) C<Test-Harness-Straps> distribution on CPAN.
-
-=item C<Test::Simple>
-
-Upgraded from version 0.72 to 0.92.
-
-=item C<Text::ParseWords>
-
-Upgraded from version 3.26 to 3.27.
-
-=item C<Text::Tabs>
-
-Upgraded from version 2007.1117 to 2009.0305.
-
-=item C<Text::Wrap>
-
-Upgraded from version 2006.1117 to 2009.0305.
-
-=item C<Thread::Queue>
-
-Upgraded from version 2.00 to 2.11.
-
-=item C<Thread::Semaphore>
-
-Upgraded from version 2.01 to 2.09.
-
-=item C<threads>
-
-Upgraded from version 1.67 to 1.72.
-
-=item C<threads::shared>
-
-Upgraded from version 1.14 to 1.29.
-
-=item C<Tie::RefHash>
-
-Upgraded from version 1.37 to 1.38.
-
-=item C<Tie::StdHandle>
-
-This has documentation changes, and has been assigned a version for the
-first time: version 4.2.
-
-=item C<Time::HiRes>
-
-Upgraded from version 1.9711 to 1.9719.
-
-=item C<Time::Local>
-
-Upgraded from version 1.18 to 1.1901.
-
-=item C<Time::Piece>
-
-Upgraded from version 1.12 to 1.15.
-
-=item C<Unicode::Normalize>
-
-Upgraded from version 1.02 to 1.03.
-
-=item C<Unicode::UCD>
-
-Upgraded from version 0.25 to 0.27.
-
-C<charinfo()> now works on Unified CJK code points added to later versions
-of Unicode.
-
-C<casefold()> has new fields returned to provide both a simpler interface
-and previously missing information. The old fields are retained for
-backwards compatibility. Information about Turkic-specific code points is
-now returned.
-
-The documentation has been corrected and expanded.
-
-=item C<UNIVERSAL>
-
-Upgraded from version 1.04 to 1.05.
-
-=item C<Win32>
-
-Upgraded from version 0.34 to 0.39.
-
-=item C<Win32API::File>
-
-Upgraded from version 0.1001_01 to 0.1101.
-
-=item C<XSLoader>
-
-Upgraded from version 0.08 to 0.10.
-
-=back
-
-=head1 Utility Changes
-
-=over 4
-
-=item F<h2ph>
-
-Now looks in C<include-fixed> too, which is a recent addition to gcc's
-search path.
-
-=item F<h2xs>
-
-No longer incorrectly treats enum values like macros (Daniel Burr).
-
-Now handles C++ style constants (C<//>) properly in enums. (A patch from
-Rainer Weikusat was used; Daniel Burr also proposed a similar fix).
-
-=item F<perl5db.pl>
-
-C<LVALUE> subroutines now work under the debugger.
-
-The debugger now correctly handles proxy constant subroutines, and
-subroutine stubs.
-
-=item F<perlthanks>
-
-Perl 5.10.1 adds a new utility F<perlthanks>, which is a variant of
-F<perlbug>, but for sending non-bug-reports to the authors and maintainers
-of Perl. Getting nothing but bug reports can become a bit demoralising:
-we'll see if this changes things.
-
-=back
-
-=head1 New Documentation
-
-=over 4
-
-=item L<perlhaiku>
-
-This contains instructions on how to build perl for the Haiku platform.
-
-=item L<perlmroapi>
-
-This describes the new interface for pluggable Method Resolution Orders.
-
-=item L<perlperf>
-
-This document, by Richard Foley, provides an introduction to the use of
-performance and optimization techniques which can be used with particular
-reference to perl programs.
-
-=item L<perlrepository>
-
-This describes how to access the perl source using the I<git> version
-control system.
-
-=item L<perlthanks>
-
-This describes the new F<perlthanks> utility.
-
-=back
-
-=head1 Changes to Existing Documentation
-
-The various large C<Changes*> files (which listed every change made to perl
-over the last 18 years) have been removed, and replaced by a small file,
-also called C<Changes>, which just explains how that same information may
-be extracted from the git version control system.
-
-The file F<Porting/patching.pod> has been deleted, as it mainly described
-interacting with the old Perforce-based repository, which is now obsolete.
-Information still relevant has been moved to L<perlrepository>.
-
-L<perlapi>, L<perlintern>, L<perlmodlib> and L<perltoc> are now all
-generated at build time, rather than being shipped as part of the release.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-A new internal cache means that C<isa()> will often be faster.
-
-=item *
-
-Under C<use locale>, the locale-relevant information is now cached on
-read-only values, such as the list returned by C<keys %hash>. This makes
-operations such as C<sort keys %hash> in the scope of C<use locale> much
-faster.
-
-=item *
-
-Empty C<DESTROY> methods are no longer called.
-
-=back
-
-=head1 Installation and Configuration Improvements
-
-=head2 F<ext/> reorganisation
-
-The layout of directories in F<ext> has been revised. Specifically, all
-extensions are now flat, and at the top level, with C</> in pathnames
-replaced by C<->, so that F<ext/Data/Dumper/> is now F<ext/Data-Dumper/>,
-etc. The names of the extensions as specified to F<Configure>, and as
-reported by C<%Config::Config> under the keys C<dynamic_ext>,
-C<known_extensions>, C<nonxs_ext> and C<static_ext> have not changed, and
-still use C</>. Hence this change will not have any affect once perl is
-installed. However, C<Attribute::Handlers>, C<Safe> and C<mro> have now
-become extensions in their own right, so if you run F<Configure> with
-options to specify an exact list of extensions to build, you will need to
-change it to account for this.
-
-For 5.10.2, it is planned that many dual-life modules will have been moved
-from F<lib> to F<ext>; again this will have no effect on an installed
-perl, but will matter if you invoke F<Configure> with a pre-canned list of
-extensions to build.
-
-=head2 Configuration improvements
-
-If C<vendorlib> and C<vendorarch> are the same, then they are only added to
-C<@INC> once.
-
-C<$Config{usedevel}> and the C-level C<PERL_USE_DEVEL> are now defined if
-perl is built with C<-Dusedevel>.
-
-F<Configure> will enable use of C<-fstack-protector>, to provide protection
-against stack-smashing attacks, if the compiler supports it.
-
-F<Configure> will now determine the correct prototypes for re-entrant
-functions, and for C<gconvert>, if you are using a C++ compiler rather
-than a C compiler.
-
-On Unix, if you build from a tree containing a git repository, the
-configuration process will note the commit hash you have checked out, for
-display in the output of C<perl -v> and C<perl -V>. Unpushed local commits
-are automatically added to the list of local patches displayed by
-C<perl -V>.
-
-=head2 Compilation improvements
-
-As part of the flattening of F<ext>, all extensions on all platforms are
-built by F<make_ext.pl>. This replaces the Unix-specific
-F<ext/util/make_ext>, VMS-specific F<make_ext.com> and Win32-specific
-F<win32/buildext.pl>.
-
-=head2 Platform Specific Changes
-
-=over 4
-
-=item AIX
-
-Removed F<libbsd> for AIX 5L and 6.1. Only flock() was used from F<libbsd>.
-
-Removed F<libgdbm> for AIX 5L and 6.1. The F<libgdbm> is delivered as an
-optional package with the AIX Toolbox. Unfortunately the 64 bit version
-is broken.
-
-Hints changes mean that AIX 4.2 should work again.
-
-=item Cygwin
-
-On Cygwin we now strip the last number from the DLL. This has been the
-behaviour in the cygwin.com build for years. The hints files have been
-updated.
-
-=item FreeBSD
-
-The hints files now identify the correct threading libraries on FreeBSD 7
-and later.
-
-=item Irix
-
-We now work around a bizarre preprocessor bug in the Irix 6.5 compiler:
-C<cc -E -> unfortunately goes into K&R mode, but C<cc -E file.c> doesn't.
-
-=item Haiku
-
-Patches from the Haiku maintainers have been merged in. Perl should now
-build on Haiku.
-
-=item MirOS BSD
-
-Perl should now build on MirOS BSD.
-
-=item NetBSD
-
-Hints now supports versions 5.*.
-
-=item Stratus VOS
-
-Various changes from Stratus have been merged in.
-
-=item Symbian
-
-There is now support for Symbian S60 3.2 SDK and S60 5.0 SDK.
-
-=item Win32
-
-Improved message window handling means that C<alarm> and C<kill> messages
-will no longer be dropped under race conditions.
-
-=item VMS
-
-Reads from the in-memory temporary files of C<PerlIO::scalar> used to fail
-if C<$/> was set to a numeric reference (to indicate record-style reads).
-This is now fixed.
-
-VMS now supports C<getgrgid>.
-
-Many improvements and cleanups have been made to the VMS file name handling
-and conversion code.
-
-Enabling the C<PERL_VMS_POSIX_EXIT> logical name now encodes a POSIX exit
-status in a VMS condition value for better interaction with GNV's bash
-shell and other utilities that depend on POSIX exit values. See
-L<perlvms/"$?"> for details.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-5.10.0 inadvertently disabled an optimisation, which caused a measurable
-performance drop in list assignment, such as is often used to assign
-function parameters from C<@_>. The optimisation has been re-instated, and
-the performance regression fixed.
-
-=item *
-
-Fixed memory leak on C<while (1) { map 1, 1 }> [RT #53038].
-
-=item *
-
-Some potential coredumps in PerlIO fixed [RT #57322,54828].
-
-=item *
-
-The debugger now works with lvalue subroutines.
-
-=item *
-
-The debugger's C<m> command was broken on modules that defined constants
-[RT #61222].
-
-=item *
-
-C<crypt()> and string complement could return tainted values for untainted
-arguments [RT #59998].
-
-=item *
-
-The C<-i.suffix> command-line switch now recreates the file using
-restricted permissions, before changing its mode to match the original
-file. This eliminates a potential race condition [RT #60904].
-
-=item *
-
-On some UNIX systems, the value in C<$?> would not have the top bit set
-(C<$? & 128>) even if the child core dumped.
-
-=item *
-
-Under some circumstances, $^R could incorrectly become undefined
-[RT #57042].
-
-=item *
-
-(XS) In various hash functions, passing a pre-computed hash to when the
-key is UTF-8 might result in an incorrect lookup.
-
-=item *
-
-(XS) Including F<XSUB.h> before F<perl.h> gave a compile-time error
-[RT #57176].
-
-=item *
-
-C<< $object->isa('Foo') >> would report false if the package C<Foo> didn't
-exist, even if the object's C<@ISA> contained C<Foo>.
-
-=item *
-
-Various bugs in the new-to 5.10.0 mro code, triggered by manipulating
-C<@ISA>, have been found and fixed.
-
-=item *
-
-Bitwise operations on references could crash the interpreter, e.g.
-C<$x=\$y; $x |= "foo"> [RT #54956].
-
-=item *
-
-Patterns including alternation might be sensitive to the internal UTF-8
-representation, e.g.
-
- my $byte = chr(192);
- my $utf8 = chr(192); utf8::upgrade($utf8);
- $utf8 =~ /$byte|X}/i; # failed in 5.10.0
-
-=item *
-
-Within UTF8-encoded Perl source files (i.e. where C<use utf8> is in
-effect), double-quoted literal strings could be corrupted where a C<\xNN>,
-C<\0NNN> or C<\N{}> is followed by a literal character with ordinal value
-greater than 255 [RT #59908].
-
-=item *
-
-C<B::Deparse> failed to correctly deparse various constructs:
-C<readpipe STRING> [RT #62428], C<CORE::require(STRING)> [RT #62488],
-C<sub foo(_)> [RT #62484].
-
-=item *
-
-Using C<setpgrp()> with no arguments could corrupt the perl stack.
-
-=item *
-
-The block form of C<eval> is now specifically trappable by C<Safe> and
-C<ops>. Previously it was erroneously treated like string C<eval>.
-
-=item *
-
-In 5.10.0, the two characters C<[~> were sometimes parsed as the smart
-match operator (C<~~>) [RT #63854].
-
-=item *
-
-In 5.10.0, the C<*> quantifier in patterns was sometimes treated as
-C<{0,32767}> [RT #60034, #60464]. For example, this match would fail:
-
- ("ab" x 32768) =~ /^(ab)*$/
-
-=item *
-
-C<shmget> was limited to a 32 bit segment size on a 64 bit OS [RT #63924].
-
-=item *
-
-Using C<next> or C<last> to exit a C<given> block no longer produces a
-spurious warning like the following:
-
- Exiting given via last at foo.pl line 123
-
-=item *
-
-On Windows, C<'.\foo'> and C<'..\foo'> were treated differently than
-C<'./foo'> and C<'../foo'> by C<do> and C<require> [RT #63492].
-
-=item *
-
-Assigning a format to a glob could corrupt the format; e.g.:
-
- *bar=*foo{FORMAT}; # foo format now bad
-
-=item *
-
-Attempting to coerce a typeglob to a string or number could cause an
-assertion failure. The correct error message is now generated,
-C<Can't coerce GLOB to I<$type>>.
-
-=item *
-
-Under C<use filetest 'access'>, C<-x> was using the wrong access mode. This
-has been fixed [RT #49003].
-
-=item *
-
-C<length> on a tied scalar that returned a Unicode value would not be
-correct the first time. This has been fixed.
-
-=item *
-
-Using an array C<tie> inside in array C<tie> could SEGV. This has been
-fixed. [RT #51636]
-
-=item *
-
-A race condition inside C<PerlIOStdio_close()> has been identified and
-fixed. This used to cause various threading issues, including SEGVs.
-
-=item *
-
-In C<unpack>, the use of C<()> groups in scalar context was internally
-placing a list on the interpreter's stack, which manifested in various
-ways, including SEGVs. This is now fixed [RT #50256].
-
-=item *
-
-Magic was called twice in C<substr>, C<\&$x>, C<tie $x, $m> and C<chop>.
-These have all been fixed.
-
-=item *
-
-A 5.10.0 optimisation to clear the temporary stack within the implicit
-loop of C<s///ge> has been reverted, as it turned out to be the cause of
-obscure bugs in seemingly unrelated parts of the interpreter [commit
-ef0d4e17921ee3de].
-
-=item *
-
-The line numbers for warnings inside C<elsif> are now correct.
-
-=item *
-
-The C<..> operator now works correctly with ranges whose ends are at or
-close to the values of the smallest and largest integers.
-
-=item *
-
-C<binmode STDIN, ':raw'> could lead to segmentation faults on some platforms.
-This has been fixed [RT #54828].
-
-=item *
-
-An off-by-one error meant that C<index $str, ...> was effectively being
-executed as C<index "$str\0", ...>. This has been fixed [RT #53746].
-
-=item *
-
-Various leaks associated with named captures in regexes have been fixed
-[RT #57024].
-
-=item *
-
-A weak reference to a hash would leak. This was affecting C<DBI>
-[RT #56908].
-
-=item *
-
-Using (?|) in a regex could cause a segfault [RT #59734].
-
-=item *
-
-Use of a UTF-8 C<tr//> within a closure could cause a segfault [RT #61520].
-
-=item *
-
-Calling C<sv_chop()> or otherwise upgrading an SV could result in an
-unaligned 64-bit access on the SPARC architecture [RT #60574].
-
-=item *
-
-In the 5.10.0 release, C<inc_version_list> would incorrectly list
-C<5.10.*> after C<5.8.*>; this affected the C<@INC> search order
-[RT #67628].
-
-=item *
-
-In 5.10.0, C<pack "a*", $tainted_value> returned a non-tainted value
-[RT #52552].
-
-=item *
-
-In 5.10.0, C<printf> and C<sprintf> could produce the fatal error
-C<panic: utf8_mg_pos_cache_update> when printing UTF-8 strings
-[RT #62666].
-
-=item *
-
-In the 5.10.0 release, a dynamically created C<AUTOLOAD> method might be
-missed (method cache issue) [RT #60220,60232].
-
-=item *
-
-In the 5.10.0 release, a combination of C<use feature> and C<//ee> could
-cause a memory leak [RT #63110].
-
-=item *
-
-C<-C> on the shebang (C<#!>) line is once more permitted if it is also
-specified on the command line. C<-C> on the shebang line used to be a
-silent no-op I<if> it was not also on the command line, so perl 5.10.0
-disallowed it, which broke some scripts. Now perl checks whether it is
-also on the command line and only dies if it is not [RT #67880].
-
-=item *
-
-In 5.10.0, certain types of re-entrant regular expression could crash,
-or cause the following assertion failure [RT #60508]:
-
- Assertion rx->sublen >= (s - rx->subbeg) + i failed
-
-
-=back
-
-=head1 New or Changed Diagnostics
-
-=over 4
-
-=item C<panic: sv_chop %s>
-
-This new fatal error occurs when the C routine C<Perl_sv_chop()> was
-passed a position that is not within the scalar's string buffer. This
-could be caused by buggy XS code, and at this point recovery is not
-possible.
-
-=item C<Can't locate package %s for the parents of %s>
-
-This warning has been removed. In general, it only got produced in
-conjunction with other warnings, and removing it allowed an ISA lookup
-optimisation to be added.
-
-=item C<v-string in use/require is non-portable>
-
-This warning has been removed.
-
-=item C<Deep recursion on subroutine "%s">
-
-It is now possible to change the depth threshold for this warning from the
-default of 100, by recompiling the F<perl> binary, setting the C
-pre-processor macro C<PERL_SUB_DEPTH_WARN> to the desired value.
-
-=back
-
-=head1 Changed Internals
-
-=over 4
-
-=item *
-
-The J.R.R. Tolkien quotes at the head of C source file have been checked and
-proper citations added, thanks to a patch from Tom Christiansen.
-
-=item *
-
-C<vcroak()> now accepts a null first argument. In addition, a full audit
-was made of the "not NULL" compiler annotations, and those for several
-other internal functions were corrected.
-
-=item *
-
-New macros C<dSAVEDERRNO>, C<dSAVE_ERRNO>, C<SAVE_ERRNO>, C<RESTORE_ERRNO>
-have been added to formalise the temporary saving of the C<errno>
-variable.
-
-=item *
-
-The function C<Perl_sv_insert_flags> has been added to augment
-C<Perl_sv_insert>.
-
-=item *
-
-The function C<Perl_newSV_type(type)> has been added, equivalent to
-C<Perl_newSV()> followed by C<Perl_sv_upgrade(type)>.
-
-=item *
-
-The function C<Perl_newSVpvn_flags()> has been added, equivalent to
-C<Perl_newSVpvn()> and then performing the action relevant to the flag.
-
-Two flag bits are currently supported.
-
-=over 4
-
-=item C<SVf_UTF8>
-
-This will call C<SvUTF8_on()> for you. (Note that this does not convert an
-sequence of ISO 8859-1 characters to UTF-8). A wrapper, C<newSVpvn_utf8()>
-is available for this.
-
-=item C<SVs_TEMP>
-
-Call C<sv_2mortal()> on the new SV.
-
-=back
-
-There is also a wrapper that takes constant strings, C<newSVpvs_flags()>.
-
-=item *
-
-The function C<Perl_croak_xs_usage> has been added as a wrapper to
-C<Perl_croak>.
-
-=item *
-
-The functions C<PerlIO_find_layer> and C<PerlIO_list_alloc> are now
-exported.
-
-=item *
-
-C<PL_na> has been exterminated from the core code, replaced by local STRLEN
-temporaries, or C<*_nolen()> calls. Either approach is faster than C<PL_na>,
-which is a pointer deference into the interpreter structure under ithreads,
-and a global variable otherwise.
-
-=item *
-
-C<Perl_mg_free()> used to leave freed memory accessible via SvMAGIC() on
-the scalar. It now updates the linked list to remove each piece of magic
-as it is freed.
-
-=item *
-
-Under ithreads, the regex in C<PL_reg_curpm> is now reference counted. This
-eliminates a lot of hackish workarounds to cope with it not being reference
-counted.
-
-=item *
-
-C<Perl_mg_magical()> would sometimes incorrectly turn on C<SvRMAGICAL()>.
-This has been fixed.
-
-=item *
-
-The I<public> IV and NV flags are now not set if the string value has
-trailing "garbage". This behaviour is consistent with not setting the
-public IV or NV flags if the value is out of range for the type.
-
-=item *
-
-SV allocation tracing has been added to the diagnostics enabled by C<-Dm>.
-The tracing can alternatively output via the C<PERL_MEM_LOG> mechanism, if
-that was enabled when the F<perl> binary was compiled.
-
-=item *
-
-Uses of C<Nullav>, C<Nullcv>, C<Nullhv>, C<Nullop>, C<Nullsv> etc have been
-replaced by C<NULL> in the core code, and non-dual-life modules, as C<NULL>
-is clearer to those unfamiliar with the core code.
-
-=item *
-
-A macro C<MUTABLE_PTR(p)> has been added, which on (non-pedantic) gcc will
-not cast away C<const>, returning a C<void *>. Macros C<MUTABLE_SV(av)>,
-C<MUTABLE_SV(cv)> etc build on this, casting to C<AV *> etc without
-casting away C<const>. This allows proper compile-time auditing of
-C<const> correctness in the core, and helped picked up some errors (now
-fixed).
-
-=item *
-
-Macros C<mPUSHs()> and C<mXPUSHs()> have been added, for pushing SVs on the
-stack and mortalizing them.
-
-=item *
-
-Use of the private structure C<mro_meta> has changed slightly. Nothing
-outside the core should be accessing this directly anyway.
-
-=item *
-
-A new tool, C<Porting/expand-macro.pl> has been added, that allows you
-to view how a C preprocessor macro would be expanded when compiled.
-This is handy when trying to decode the macro hell that is the perl
-guts.
-
-=back
-
-=head1 New Tests
-
-Many modules updated from CPAN incorporate new tests.
-
-Several tests that have the potential to hang forever if they fail now
-incorporate a "watchdog" functionality that will kill them after a timeout,
-which helps ensure that C<make test> and C<make test_harness> run to
-completion automatically. (Jerry Hedden).
-
-Some core-specific tests have been added:
-
-=over 4
-
-=item t/comp/retainedlines.t
-
-Check that the debugger can retain source lines from C<eval>.
-
-=item t/io/perlio_fail.t
-
-Check that bad layers fail.
-
-=item t/io/perlio_leaks.t
-
-Check that PerlIO layers are not leaking.
-
-=item t/io/perlio_open.t
-
-Check that certain special forms of open work.
-
-=item t/io/perlio.t
-
-General PerlIO tests.
-
-=item t/io/pvbm.t
-
-Check that there is no unexpected interaction between the internal types
-C<PVBM> and C<PVGV>.
-
-=item t/mro/package_aliases.t
-
-Check that mro works properly in the presence of aliased packages.
-
-=item t/op/dbm.t
-
-Tests for C<dbmopen> and C<dbmclose>.
-
-=item t/op/index_thr.t
-
-Tests for the interaction of C<index> and threads.
-
-=item t/op/pat_thr.t
-
-Tests for the interaction of esoteric patterns and threads.
-
-=item t/op/qr_gc.t
-
-Test that C<qr> doesn't leak.
-
-=item t/op/reg_email_thr.t
-
-Tests for the interaction of regex recursion and threads.
-
-=item t/op/regexp_qr_embed_thr.t
-
-Tests for the interaction of patterns with embedded C<qr//> and threads.
-
-=item t/op/regexp_unicode_prop.t
-
-Tests for Unicode properties in regular expressions.
-
-=item t/op/regexp_unicode_prop_thr.t
-
-Tests for the interaction of Unicode properties and threads.
-
-=item t/op/reg_nc_tie.t
-
-Test the tied methods of C<Tie::Hash::NamedCapture>.
-
-=item t/op/reg_posixcc.t
-
-Check that POSIX character classes behave consistently.
-
-=item t/op/re.t
-
-Check that exportable C<re> functions in F<universal.c> work.
-
-=item t/op/setpgrpstack.t
-
-Check that C<setpgrp> works.
-
-=item t/op/substr_thr.t
-
-Tests for the interaction of C<substr> and threads.
-
-=item t/op/upgrade.t
-
-Check that upgrading and assigning scalars works.
-
-=item t/uni/lex_utf8.t
-
-Check that Unicode in the lexer works.
-
-=item t/uni/tie.t
-
-Check that Unicode and C<tie> work.
-
-=back
-
-=head1 Known Problems
-
-This is a list of some significant unfixed bugs, which are regressions
-from either 5.10.0 or 5.8.x.
-
-=over 4
-
-=item *
-
-C<List::Util::first> misbehaves in the presence of a lexical C<$_>
-(typically introduced by C<my $_> or implicitly by C<given>). The variable
-which gets set for each iteration is the package variable C<$_>, not the
-lexical C<$_> [RT #67694].
-
-A similar issue may occur in other modules that provide functions which
-take a block as their first argument, like
-
- foo { ... $_ ...} list
-
-=item *
-
-The C<charnames> pragma may generate a run-time error when a regex is
-interpolated [RT #56444]:
-
- use charnames ':full';
- my $r1 = qr/\N{THAI CHARACTER SARA I}/;
- "foo" =~ $r1; # okay
- "foo" =~ /$r1+/; # runtime error
-
-A workaround is to generate the character outside of the regex:
-
- my $a = "\N{THAI CHARACTER SARA I}";
- my $r1 = qr/$a/;
-
-=item *
-
-Some regexes may run much more slowly when run in a child thread compared
-with the thread the pattern was compiled into [RT #55600].
-
-
-=back
-
-=head1 Deprecations
-
-The following items are now deprecated.
-
-=over 4
-
-=item *
-
-C<Switch> is buggy and should be avoided. From perl 5.11.0 onwards, it is
-intended that any use of the core version of this module will emit a
-warning, and that the module will eventually be removed from the core
-(probably in perl 5.14.0). See L<perlsyn/"Switch statements"> for its
-replacement.
-
-=item *
-
-C<suidperl> will be removed in 5.12.0. This provides a mechanism to
-emulate setuid permission bits on systems that don't support it properly.
-
-=back
-
-=head1 Acknowledgements
-
-Some of the work in this release was funded by a TPF grant.
-
-Nicholas Clark officially retired from maintenance pumpking duty at the
-end of 2008; however in reality he has put much effort in since then to
-help get 5.10.1 into a fit state to be released, including writing a
-considerable chunk of this perldelta.
-
-Steffen Mueller and David Golden in particular helped getting CPAN modules
-polished and synchronised with their in-core equivalents.
-
-Craig Berry was tireless in getting maint to run under VMS, no matter how
-many times we broke it for him.
-
-The other core committers contributed most of the changes, and applied most
-of the patches sent in by the hundreds of contributors listed in F<AUTHORS>.
-
-(Sorry to all the people I haven't mentioned by name).
-
-Finally, thanks to Larry Wall, without whom none of this would be
-necessary.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut