summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-11-20 18:08:54 +0000
committerKarl Berry <karl@freefriends.org>2012-11-20 18:08:54 +0000
commitc5add2ea5067382269ae6f19e345fda0b9a7bd21 (patch)
tree02f512fda46d93079c9dc59c0d76f0e398150f83 /Master/tlpkg/tlperl/lib/pods/perl5110delta.pod
parent6c35e87bdc5a3f64833dbbc42e7d42e683db9d5b (diff)
perl 5.16.2, compiled without optimization for Windows (from siep)
git-svn-id: svn://tug.org/texlive/trunk@28315 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl/lib/pods/perl5110delta.pod')
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5110delta.pod1624
1 files changed, 0 insertions, 1624 deletions
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod
deleted file mode 100644
index 7ceb174a09c..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod
+++ /dev/null
@@ -1,1624 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5110delta - what is new for perl v5.11.0
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.10.0 release and
-the 5.11.0 development release.
-
-=head1 Incompatible Changes
-
-=head2 Unicode interpretation of \w, \d, \s, and the POSIX character classes redefined.
-
-Previous versions of Perl tried to map POSIX style character class definitions onto
-Unicode property names so that patterns would "dwim" when matches were made against latin-1 or
-unicode strings. This proved to be a mistake, breaking character class negation, causing
-forward compatibility problems (as Unicode keeps updating their property definitions and adding
-new characters), and other problems.
-
-Therefore we have now defined a new set of artificial "unicode" property names which will be
-used to do unicode matching of patterns using POSIX style character classes and perl short-form
-escape character classes like \w and \d.
-
-The key change here is that \d will no longer match every digit in the unicode standard
-(there are thousands) nor will \w match every word character in the standard, instead they
-will match precisely their POSIX or Perl definition.
-
-Those needing to match based on Unicode properties can continue to do so by using the \p{} syntax
-to match whichever property they like, including the new artificial definitions.
-
-B<NOTE:> This is a backwards incompatible no-warning change in behaviour. If you are upgrading
-and you process large volumes of text look for POSIX and Perl style character classes and
-change them to the relevant property name (by removing the word 'Posix' from the current name).
-
-The following table maps the POSIX character class names, the escapes and the old and new
-Unicode property mappings:
-
- POSIX Esc Class New-Property ! Old-Property
- ----------------------------------------------+-------------
- alnum [0-9A-Za-z] IsPosixAlnum ! IsAlnum
- alpha [A-Za-z] IsPosixAlpha ! IsAlpha
- ascii [\000-\177] IsASCII = IsASCII
- blank [\011 ] IsPosixBlank !
- cntrl [\0-\37\177] IsPosixCntrl ! IsCntrl
- digit \d [0-9] IsPosixDigit ! IsDigit
- graph [!-~] IsPosixGraph ! IsGraph
- lower [a-z] IsPosixLower ! IsLower
- print [ -~] IsPosixPrint ! IsPrint
- punct [!-/:-@[-`{-~] IsPosixPunct ! IsPunct
- space [\11-\15 ] IsPosixSpace ! IsSpace
- \s [\11\12\14\15 ] IsPerlSpace ! IsSpacePerl
- upper [A-Z] IsPosixUpper ! IsUpper
- word \w [0-9A-Z_a-z] IsPerlWord ! IsWord
- xdigit [0-9A-Fa-f] IsXDigit = IsXDigit
-
-If you wish to build perl with the old mapping you may do so by setting
-
- #define PERL_LEGACY_UNICODE_CHARCLASS_MAPPINGS 1
-
-in regcomp.h, and then setting
-
- PERL_TEST_LEGACY_POSIX_CC
-
-to true your environment when testing.
-
-
-=head2 @INC reorganization
-
-In @INC, ARCHLIB and PRIVLIB now occur after after the current version's
-site_perl and vendor_perl.
-
-=head2 Switch statement changes
-
-The handling of complex expressions by the C<given>/C<when> switch
-statement has been enhanced. These enhancements are also available in
-5.10.1 and subsequent 5.10 releases. 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.
-These changers were also made for the 5.10.1 release, and will remain in
-subsequent 5.10 releases.
-
-=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 Labels can't be keywords
-
-Labels used as targets for the C<goto>, C<last>, C<next> or C<redo>
-statements cannot be keywords anymore. This restriction will prevent
-potential confusion between the C<goto LABEL> and C<goto EXPR> syntaxes:
-for example, a statement like C<goto print> would jump to a label whose
-name would be the return value of C<print()>, (usually 1), instead of a
-label named C<print>. Moreover, the other control flow statements
-would just ignore any keyword passed to them as a label name. Since
-such labels cannot be defined anymore, this kind of error will be
-avoided.
-
-=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,
-nearly all dual-life 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;
-
-=item *
-
-C<length undef> now returns undef.
-
-=item *
-
-Unsupported private C API functions are now declared "static" to prevent
-leakage to Perl's public API.
-
-=item *
-
-To support the bootstrapping process, F<miniperl> no longer builds with
-UTF-8 support in the regexp engine.
-
-This allows a build to complete with PERL_UNICODE set and a UTF-8 locale.
-Without this there's a bootstrapping problem, as miniperl can't load the UTF-8
-components of the regexp engine, because they're not yet built.
-
-=item *
-
-F<miniperl>'s @INC is now restricted to just -I..., the split of $ENV{PERL5LIB}, and "."
-
-=item *
-
-A space or a newline is now required after a C<"#line XXX"> directive.
-
-=item *
-
-Tied filehandles now have an additional method EOF which provides the EOF type
-
-=item *
-
-To better match all other flow control statements, C<foreach> may no longer be used as an attribute.
-
-=back
-
-=head1 Core Enhancements
-
-=head2 Unicode Character Database 5.1.0
-
-The copy of the Unicode Character Database included in Perl 5.11.0 has
-been updated to 5.1.0 from 5.0.0. See
-L<http://www.unicode.org/versions/Unicode5.1.0/#Notable_Changes> for the
-notable changes.
-
-=head2 A proper interface for pluggable Method Resolution Orders
-
-As of Perl 5.11.0 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 C<\N> regex escape
-
-A new regex escape has been added, C<\N>. It will match any character that
-is not a newline, independently from the presence or absence of the single
-line match modifier C</s>. (If C<\N> is followed by an opening brace and
-by a letter, perl will still assume that a Unicode character name is
-coming, so compatibility is preserved.) (Rafael Garcia-Suarez)
-
-=head2 Implicit strictures
-
-Using the C<use VERSION> syntax with a version number greater or equal
-to 5.11.0 will also lexically enable strictures just like C<use strict>
-would do (in addition to enabling features.) So, the following:
-
- use 5.11.0;
-
-will now imply:
-
- use strict;
- use feature ':5.11';
-
-=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 The C<...> operator
-
-A new operator, C<...>, nicknamed the Yada Yada operator, has been added.
-It is intended to mark placeholder code, that is not yet implemented.
-See L<perlop/"Yada Yada Operator">. (chromatic)
-
-=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 F<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.
-
-=head2 C<each> is now more flexible
-
-The C<each> function can now operate on arrays.
-
-=head2 Y2038 compliance
-
-Perl's core time-related functions are now Y2038 compliant. (With 29
-years to spare!)
-
-=head2 C<$,> flexibility
-
-The variable C<$,> may now be tied.
-
-=head2 // in where clauses
-
-// now behaves like || in when clauses
-
-=head2 Enabling warnings from your shell environment
-
-You can now set C<-W> from the C<PERL5OPT> environment variable
-
-=head2 C<delete local>
-
-C<delete local> now allows you to locally delete a hash entry.
-
-=head2 New support for Abstract namespace sockets
-
-Abstract namespace sockets are Linux-specific socket type that live in
-AF_UNIX family, slightly abusing it to be able to use arbitrary
-character arrays as addresses: They start with nul byte and are not
-terminated by nul byte, but with the length passed to the socket()
-system call.
-
-=head1 Modules and Pragmata
-
-=head2 Dual-lifed modules moved
-
-Dual-lifed modules maintained primarily in the Perl core now live in dist/.
-Dual-lifed modules maintained primarily on CPAN now live in cpan/
-
-In previous releases of Perl, it was customary to enumerate all module
-changes in this section of the C<perldelta> file. From 5.11.0 forward
-only notable updates (such as new or deprecated modules ) will be
-listed in this section. For a complete reference to the versions of
-modules shipped in a given release of perl, please see L<Module::CoreList>.
-
-=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<overloading>
-
-See L</"The C<overloading> pragma"> above.
-
-=item C<attrs>
-
-The C<attrs> pragma has been removed. It had been marked as deprecated since
-5.6.0.
-
-=item C<charnames>
-
-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<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<mro>
-
-Upgraded from version 1.00 to 1.01. Performance for single inheritance is 40%
-faster - see L</"Performance Enhancements"> below.
-
-C<mro> is now implemented as an XS extension. The documented interface has not
-changed. Code relying on the implementation detail that some C<mro::>
-methods happened to be available at all times gets to "keep both pieces".
-
-=back
-
-=head2 Updated Modules
-
-=over 4
-
-=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<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<UNIVERSAL>
-
-Upgraded from version 1.04 to 1.05.
-
-C<< UNIVERSAL-E<gt>import() >> is now deprecated.
-
-=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<perlbug>
-
-F<perlbug> now uses C<%Module::CoreList::bug_tracker> to print out upstream bug
-tracker URLs.
-
-Where the user names a module that their bug report is about, and we know the
-URL for its upstream bug tracker, provide a message to the user explaining
-that the core copies the CPAN version directly, and provide the URL for
-reporting the bug directly to upstream.
-
-=item F<perlthanks>
-
-Perl 5.11.0 added 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.
-
-=back
-
-=head1 Changes to Existing Documentation
-
-The various large F<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 F<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.
-
-=over
-
-=item *
-
-Documented -X overloading.
-
-=item *
-
-Documented that C<when()> treats specially most of the filetest operators
-
-=item *
-
-Documented when as a syntax modifier
-
-=item *
-
-Eliminated "Old Perl threads tutorial", which describes 5005 threads.
-
-F<pod/perlthrtut.pod> is the same material reworked for ithreads.
-
-=item *
-
-Correct previous documentation: v-strings are not deprecated
-
-With version objects, we need them to use MODULE VERSION syntax. This
-patch removes the deprecation note.
-
-=item *
-
-Added security contact information to L<perlsec>
-
-=back
-
-=head1 Performance Enhancements
-
-
-=over 4
-
-=item *
-
-A new internal cache means that C<isa()> will often be faster.
-
-=item *
-
-The implementation of C<C3> Method Resolution Order has been optimised -
-linearisation for classes with single inheritance is 40% faster. Performance
-for multiple inheritance is unchanged.
-
-=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.
-
-=item *
-
-Faster C<Perl_sv_utf8_upgrade()>
-
-=item *
-
-Speed up C<keys> on empty hash
-
-=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. C<Safe> has been split out from being part of C<Opcode>, and
-C<mro> is now an extension in its own right.
-
-Nearly all dual-life modules have been moved from F<lib> to F<ext>, and will
-now appear as known C<nonxs_ext>. This will made no difference to the
-structure of an installed perl, nor will the modules installed differ,
-unless you run F<Configure> with options to specify an exact list of
-extensions to build. In this case, you will rapidly become aware that you
-need to add to your list, because various modules needed to complete the
-build, such as C<ExtUtils::ParseXS>, have now become extensions, and
-without them the build will fail well before it attempts to run the
-regression tests.
-
-=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 C<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 DomainOS
-
-Support for Apollo DomainOS was removed in Perl 5.11.0
-
-=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 MachTen
-
-Support for Tenon Intersystems MachTen Unix layer for MacOS Classic was
-removed in Perl 5.11.0
-
-=item MiNT
-
-Support for Atari MiNT was removed in Perl 5.11.0.
-
-=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.
-
-C<File::Copy> now detects Unix compatibility mode on VMS.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-C<-I> on shebang line now adds directories in front of @INC
-as documented, and as does C<-I> when specified on the command-line.
-
-=item *
-
-C<kill> is now fatal when called on non-numeric process identifiers.
-Previously, an 'undef' process identifier would be interpreted as a request to
-kill process "0", which would terminate the current process group on POSIX
-systems. Since process identifiers are always integers, killing a non-numeric
-process is now fatal.
-
-=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>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, C<$^R> could incorrectly become undefined
-[RT #57042].
-
-=item *
-
-In the XS API, various hash functions, when passed a pre-computed hash where
-the key is UTF-8, might result in an incorrect lookup.
-
-=item *
-
-XS code including F<XSUB.h> before F<perl.h> gave a compile-time error
-[RT #57176].
-
-=item *
-
-C<< $object-E<gt>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<Perl_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
-
-=item *
-
-Previously missing files from Unicode 5.1 Character Database are now included.
-
-=item *
-
-C<TMPDIR> is now honored when opening an anonymous temporary file
-
-=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 *
-
-TODO: C<SVt_RV> is gone. RVs are now stored in IVs
-
-=item *
-
-TODO: REGEXPs are first class
-
-=item *
-
-TODO: OOK is reworked, such that an OOKed scalar is PV not PVIV
-
-=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<Perl_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<Perl_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 C<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 *
-
-Smartmatch resolution tracing has been added as a new diagnostic. Use C<-DM> to
-enable it.
-
-
-=item *
-
-A new debugging flag C<-DB> now dumps subroutine definitions, leaving
-C<-Dx> for its original purpose of dumping syntax trees.
-
-=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, F<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 *
-
-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 warnings will issue a deprecation warning.
-
-=over
-
-=item *
-
-C<Class::ISA>
-
-=item *
-
-C<Pod::Plainer>
-
-=item *
-
-C<Shell>
-
-=back
-
-Currently support to install from CPAN without a I<force> is C<TODO> in CPAN
-and CPANPLUS. This will be addressed before 5.12.0 ships.
-
-=item *
-
-C<suidperl> has been removed. It used to provide a mechanism to
-emulate setuid permission bits on systems that don't support it properly.
-
-=item *
-
-Deprecate assignment to $[
-
-=item *
-
-Remove attrs, which has been deprecated since 1999/10/02.
-
-=item *
-
-Deprecate use of the attribute :locked on subroutines.
-
-=item *
-
-Deprecate using "locked" with the attributes pragma.
-
-=item *
-
-Deprecate using "unique" with the attributes pragma.
-
-=item *
-
-warn if ++ or -- are unable to change the value because it's beyond the limit of representation
-
-This uses a new warnings category: "imprecision".
-
-=item *
-
-Make lc/uc/lcfirst/ucfirst warn when passed undef.
-
-=item *
-
-Show constant in "Useless use of a constant in void context"
-
-=item *
-
-Make the new warning report undef constants as undef
-
-=item *
-
-Add a new warning, "Prototype after '%s'"
-
-=item *
-
-Tweak the "Illegal character in prototype" warning so it's more precise when reporting illegal characters after _
-
-=item *
-
-Unintended interpolation of $\ in regex
-
-=item *
-
-Make overflow warnings in gmtime/localtime only occur when warnings are on
-
-=item *
-
-Improve mro merging error messages.
-
-They are now very similar to those produced by Algorithm::C3.
-
-=item *
-
-Amelioration of the error message "Unrecognized character %s in column %d"
-
-Changes the error message to "Unrecognized character %s; marked by E<lt>--
-HERE after %sE<lt>-- HERE near column %d". This should make it a little
-simpler to spot and correct the suspicious character.
-
-=item *
-
-Explicitly point to $. when it causes an uninitialized warning for ranges in scalar context
-
-
-=item *
-
-Deprecated numerous Perl 4-era libraries:
-
-F<termcap.pl>, F<tainted.pl>, F<stat.pl>, F<shellwords.pl>, F<pwd.pl>,
-F<open3.pl>, F<open2.pl>, F<newgetopt.pl>, F<look.pl>, F<find.pl>,
-F<finddepth.pl>, F<importenv.pl>, F<hostname.pl>, F<getopts.pl>,
-F<getopt.pl>, F<getcwd.pl>, F<flush.pl>, F<fastcwd.pl>, F<exceptions.pl>,
-F<ctime.pl>, F<complete.pl>, F<cacheout.pl>, F<bigrat.pl>, F<bigint.pl>,
-F<bigfloat.pl>, F<assert.pl>, F<abbrev.pl>, F<dotsh.pl>, and
-F<timelocal.pl> are all now deprecated. Using them will incur a warning.
-
-=back
-
-=head1 Acknowledgements
-
-Some of the work in this release was funded by a TPF grant funded by
-Dijkmat BV, The Netherlands.
-
-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>.
-
-Much of the work of categorizing changes in this perldelta file was contributed
-by the following porters using changelogger.bestpractical.com:
-
-Nicholas Clark, leon, shawn, alexm, rjbs, rafl, Pedro Melo, brunorc,
-anonymous, ☄, Tom Hukins, anonymous, Jesse, dagolden, Moritz Onken,
-Mark Fowler, chorny, anonymous, tmtm
-
-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
-
-