summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man1/perl5340delta.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man1/perl5340delta.1')
-rw-r--r--upstream/mageia-cauldron/man1/perl5340delta.11052
1 files changed, 1052 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/perl5340delta.1 b/upstream/mageia-cauldron/man1/perl5340delta.1
new file mode 100644
index 00000000..d692e6e0
--- /dev/null
+++ b/upstream/mageia-cauldron/man1/perl5340delta.1
@@ -0,0 +1,1052 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "PERL5340DELTA 1"
+.TH PERL5340DELTA 1 2023-11-28 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+perl5340delta \- what is new for perl v5.34.0
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+This document describes differences between the 5.32.0 release and the 5.34.0
+release.
+.PP
+If you are upgrading from an earlier release such as 5.30.0, first read
+perl5320delta, which describes differences between 5.30.0 and 5.32.0.
+.SH "Core Enhancements"
+.IX Header "Core Enhancements"
+.SS "Experimental Try/Catch Syntax"
+.IX Subsection "Experimental Try/Catch Syntax"
+An initial experimental attempt at providing \f(CW\*(C`try\*(C'\fR/\f(CW\*(C`catch\*(C'\fR notation has
+been added.
+.PP
+.Vb 1
+\& use feature \*(Aqtry\*(Aq;
+\&
+\& try {
+\& a_function();
+\& }
+\& catch ($e) {
+\& warn "An error occurred: $e";
+\& }
+.Ve
+.PP
+For more information, see "Try Catch Exception Handling" in perlsyn.
+.ie n .SS """qr/{,n}/"" is now accepted"
+.el .SS "\f(CWqr/{,n}/\fP is now accepted"
+.IX Subsection "qr/{,n}/ is now accepted"
+An empty lower bound is now accepted for regular expression quantifiers,
+like \f(CW\*(C`m/x{,3}/\*(C'\fR meaning \f(CW\*(C`m/x{0,3}/\*(C'\fR
+.SS "Blanks freely allowed within but adjacent to curly braces"
+.IX Subsection "Blanks freely allowed within but adjacent to curly braces"
+(in double-quotish contexts and regular expression patterns)
+.PP
+This means you can write things like \f(CW\*(C`\ex{\ FFFC\ }\*(C'\fR if you like. This
+applies to all such constructs, namely \f(CW\*(C`\eb{}\*(C'\fR, \f(CW\*(C`\eg{}\*(C'\fR, \f(CW\*(C`\ek{}\*(C'\fR,
+\&\f(CW\*(C`\eN{}\*(C'\fR, \f(CW\*(C`\eo{}\*(C'\fR, and \f(CW\*(C`\ex{}\*(C'\fR; as well as the regular expression
+quantifier \f(CW\*(C`{\fR\f(CIm\fR\f(CW,\fR\f(CIn\fR\f(CW}\*(C'\fR. \f(CW\*(C`\ep{}\*(C'\fR and \f(CW\*(C`\eP{}\*(C'\fR retain their
+already-existing, even looser, rules mandated by the Unicode standard
+(see "Properties accessible through \ep{} and \eP{}" in perluniprops).
+.PP
+This ability is in effect regardless of the presence of the \f(CW\*(C`/x\*(C'\fR
+regular expression pattern modifier.
+.PP
+Additionally, the comma in a regular expression braced quantifier may
+have blanks (tabs or spaces) before and/or after the comma, like
+\&\f(CW\*(C`qr/a{\ 5,\ 7\ }/\*(C'\fR.
+.ie n .SS "New octal syntax ""0o\fIddddd\fP"""
+.el .SS "New octal syntax \f(CW0o\fP\f(CIddddd\fP\f(CW\fP"
+.IX Subsection "New octal syntax 0oddddd"
+It is now possible to specify octal literals with \f(CW\*(C`0o\*(C'\fR prefixes,
+as in \f(CW\*(C`0o123_456\*(C'\fR, parallel to the existing construct to specify
+hexadecimal literal \f(CW\*(C`0x\fR\f(CIddddd\fR\f(CW\*(C'\fR and binary literal \f(CW\*(C`0b\fR\f(CIddddd\fR\f(CW\*(C'\fR.
+Also, the builtin \f(CWoct()\fR function now accepts this new syntax.
+.PP
+See "Scalar value constructors" in perldata and "oct EXPR" in perlfunc.
+.SH "Performance Enhancements"
+.IX Header "Performance Enhancements"
+.IP \(bu 4
+Fix a memory leak in RegEx
+[GH #18604 <https://github.com/Perl/perl5/issues/18604>]
+.SH "Modules and Pragmata"
+.IX Header "Modules and Pragmata"
+.SS "New Modules and Pragmata"
+.IX Subsection "New Modules and Pragmata"
+.IP \(bu 4
+ExtUtils::PL2Bat 0.004 has been added to the Perl core.
+.Sp
+This module is a generalization of the \f(CW\*(C`pl2bat\*(C'\fR script. It being a script has
+led to at least two forks of this code; this module will unify them under one
+implementation with tests.
+.SS "Updated Modules and Pragmata"
+.IX Subsection "Updated Modules and Pragmata"
+.IP \(bu 4
+Archive::Tar has been upgraded from version 2.36 to 2.38.
+.IP \(bu 4
+autodie has been upgraded from version 2.32 to 2.34.
+.IP \(bu 4
+B has been upgraded from version 1.80 to 1.82.
+.IP \(bu 4
+B::Deparse has been upgraded from version 1.54 to 1.56.
+.IP \(bu 4
+bytes has been upgraded from version 1.07 to 1.08.
+.IP \(bu 4
+Carp has been upgraded from version 1.50 to 1.52.
+.IP \(bu 4
+Compress::Raw::Bzip2 has been upgraded from version 2.093 to 2.101.
+.IP \(bu 4
+Compress::Raw::Zlib has been upgraded from version 2.093 to 2.101.
+.IP \(bu 4
+Config::Perl::V has been upgraded from version 0.32 to 0.33.
+.IP \(bu 4
+CPAN has been upgraded from version 2.27 to 2.28.
+.IP \(bu 4
+Data::Dumper has been upgraded from version 2.174 to 2.179.
+.IP \(bu 4
+DB has been upgraded from version 1.58 to 1.59.
+.IP \(bu 4
+DB_File has been upgraded from version 1.853 to 1.855.
+.IP \(bu 4
+Devel::Peek has been upgraded from version 1.28 to 1.30.
+.IP \(bu 4
+Devel::PPPort has been upgraded from version 3.57 to 3.62.
+.Sp
+New \f(CW\*(C`PERL_VERSION_*\*(C'\fR comparison macros are now available.
+.Sp
+\&\f(CW\*(C`ppport.h \-\-api\-info\*(C'\fR no longer includes non-API info unless that is the only
+match
+.IP \(bu 4
+Digest has been upgraded from version 1.17_01 to 1.19.
+.IP \(bu 4
+Digest::MD5 has been upgraded from version 2.55_01 to 2.58.
+.IP \(bu 4
+DynaLoader has been upgraded from version 1.47 to 1.50.
+.IP \(bu 4
+Encode has been upgraded from version 3.06 to 3.08.
+.IP \(bu 4
+Env has been upgraded from version 1.04 to 1.05.
+.IP \(bu 4
+Errno has been upgraded from version 1.30 to 1.33.
+.IP \(bu 4
+experimental has been upgraded from version 0.020 to 0.024.
+.IP \(bu 4
+Exporter has been upgraded from version 5.74 to 5.76.
+.IP \(bu 4
+ExtUtils::CBuilder has been upgraded from version 0.280234 to 0.280236.
+.IP \(bu 4
+ExtUtils::Install has been upgraded from version 2.14 to 2.20.
+.IP \(bu 4
+ExtUtils::MakeMaker has been upgraded from version 7.44 to 7.62.
+.IP \(bu 4
+ExtUtils::Manifest has been upgraded from version 1.72 to 1.73.
+.IP \(bu 4
+ExtUtils::Miniperl has been upgraded from version 1.09 to 1.10.
+.IP \(bu 4
+ExtUtils::ParseXS has been upgraded from version 3.40 to 3.43.
+.IP \(bu 4
+ExtUtils::Typemaps has been upgraded from version 3.38 to 3.43.
+.IP \(bu 4
+Fcntl has been upgraded from version 1.13 to 1.14.
+.IP \(bu 4
+feature has been upgraded from version 1.58 to 1.64.
+.Sp
+Added the default enabled \f(CW\*(C`bareword_filehandles\*(C'\fR feature.
+.Sp
+A new multidimensional
+feature has been added, which is enabled by
+default but allows turning off multi-dimensional array
+emulation.
+.IP \(bu 4
+File::Copy has been upgraded from version 2.34 to 2.35.
+.IP \(bu 4
+File::Fetch has been upgraded from version 0.56 to 1.00.
+.IP \(bu 4
+File::Find has been upgraded from version 1.37 to 1.39.
+.IP \(bu 4
+File::Path has been upgraded from version 2.16 to 2.18.
+.IP \(bu 4
+File::Spec has been upgraded from version 3.78 to 3.80.
+.IP \(bu 4
+File::Temp has been upgraded from version 0.2309 to 0.2311.
+.IP \(bu 4
+Filter::Util::Call has been upgraded from version 1.59 to 1.60.
+.IP \(bu 4
+FindBin has been upgraded from version 1.51 to 1.52.
+.IP \(bu 4
+GDBM_File has been upgraded from version 1.18 to 1.19.
+.Sp
+New functions and compatibility for newer versions of GDBM.
+[GH #18435 <https://github.com/Perl/perl5/pull/18435>]
+.IP \(bu 4
+Getopt::Long has been upgraded from version 2.51 to 2.52.
+.IP \(bu 4
+Getopt::Std has been upgraded from version 1.12 to 1.13.
+.IP \(bu 4
+Hash::Util has been upgraded from version 0.23 to 0.25.
+.IP \(bu 4
+Hash::Util::FieldHash has been upgraded from version 1.20 to 1.21.
+.IP \(bu 4
+I18N::LangTags has been upgraded from version 0.44 to 0.45.
+.IP \(bu 4
+if has been upgraded from version 0.0608 to 0.0609.
+.IP \(bu 4
+IO has been upgraded from version 1.43 to 1.46.
+.Sp
+IO::Socket now stores error messages in \f(CW$IO::Socket::errstr\fR, in
+addition to in \f(CW$@\fR.
+.Sp
+The \f(CW\*(C`error\*(C'\fR method now reports the error state for both the input and
+output streams for sockets and character devices. Similarly
+\&\f(CW\*(C`clearerr\*(C'\fR now clears the error state for both streams.
+.Sp
+A spurious error reported for regular file handles has been
+fixed in IO::Handle.
+[GH #18019 <https://github.com/Perl/perl5/issues/18019>]
+.IP \(bu 4
+IO-Compress has been upgraded from version 2.093 to 2.102.
+.Sp
+bin/zipdetails version 2.02
+.IP \(bu 4
+IO::Socket::IP has been upgraded from version 0.39 to 0.41.
+.IP \(bu 4
+IO::Zlib has been upgraded from version 1.10 to 1.11.
+.IP \(bu 4
+IPC::SysV has been upgraded from version 2.07 to 2.09.
+.IP \(bu 4
+JSON::PP has been upgraded from version 4.04 to 4.06.
+.IP \(bu 4
+The libnet distribution has been upgraded from version 3.11 to 3.13.
+.IP \(bu 4
+locale has been upgraded from version 1.09 to 1.10.
+.IP \(bu 4
+Math::Complex has been upgraded from version 1.5901 to 1.5902.
+.IP \(bu 4
+MIME::Base64 has been upgraded from version 3.15 to 3.16.
+.IP \(bu 4
+Module::CoreList has been upgraded from version 5.20200620 to 5.20210520.
+.IP \(bu 4
+Module::Load has been upgraded from version 0.34 to 0.36.
+.IP \(bu 4
+Module::Load::Conditional has been upgraded from version 0.70 to 0.74.
+.IP \(bu 4
+mro has been upgraded from version 1.23 to 1.25_001.
+.IP \(bu 4
+Net::Ping has been upgraded from version 2.72 to 2.74.
+.IP \(bu 4
+NEXT has been upgraded from version 0.67_01 to 0.68.
+.IP \(bu 4
+ODBM_File has been upgraded from version 1.16 to 1.17.
+.IP \(bu 4
+Opcode has been upgraded from version 1.47 to 1.50.
+.IP \(bu 4
+overload has been upgraded from version 1.31 to 1.33.
+.IP \(bu 4
+perlfaq has been upgraded from version 5.20200523 to 5.20210411.
+.IP \(bu 4
+PerlIO::encoding has been upgraded from version 0.28 to 0.30.
+.IP \(bu 4
+PerlIO::mmap has been upgraded from version 0.016 to 0.017.
+.IP \(bu 4
+PerlIO::scalar has been upgraded from version 0.30 to 0.31.
+.IP \(bu 4
+PerlIO::via::QuotedPrint has been upgraded from version 0.08 to 0.09.
+.IP \(bu 4
+Pod::Checker has been upgraded from version 1.73 to 1.74.
+.IP \(bu 4
+Pod::Html has been upgraded from version 1.25 to 1.27.
+.IP \(bu 4
+Pod::Simple has been upgraded from version 3.40 to 3.42.
+.IP \(bu 4
+Pod::Usage has been upgraded from version 1.69 to 2.01.
+.IP \(bu 4
+POSIX has been upgraded from version 1.94 to 1.97.
+.Sp
+\&\fBPOSIX::signbit()\fR behaviour has been improved.
+[GH #18441 <https://github.com/Perl/perl5/pull/18441>]
+.Sp
+Documentation for \f(CW\*(C`asctime\*(C'\fR clarifies that the result is always in English.
+(Use \f(CW\*(C`strftime\*(C'\fR for a localized result.)
+.IP \(bu 4
+re has been upgraded from version 0.40 to 0.41.
+.Sp
+(See under "Internal Changes" for more information.)
+.IP \(bu 4
+Safe has been upgraded from version 2.41 to 2.43.
+.IP \(bu 4
+Socket has been upgraded from version 2.029 to 2.031.
+.IP \(bu 4
+Storable has been upgraded from version 3.21 to 3.23.
+.IP \(bu 4
+strict has been upgraded from version 1.11 to 1.12.
+.IP \(bu 4
+subs has been upgraded from version 1.03 to 1.04.
+.IP \(bu 4
+Symbol has been upgraded from version 1.08 to 1.09.
+.IP \(bu 4
+Test::Harness has been upgraded from version 3.42 to 3.43.
+.IP \(bu 4
+Test::Simple has been upgraded from version 1.302175 to 1.302183.
+.IP \(bu 4
+Text::Balanced has been upgraded from version 2.03 to 2.04.
+.IP \(bu 4
+threads has been upgraded from version 2.25 to 2.26.
+.IP \(bu 4
+threads::shared has been upgraded from version 1.61 to 1.62.
+.IP \(bu 4
+Tie::RefHash has been upgraded from version 1.39 to 1.40.
+.IP \(bu 4
+Time::HiRes has been upgraded from version 1.9764 to 1.9767.
+.IP \(bu 4
+Time::Local has been upgraded from version 1.28 to 1.30.
+.IP \(bu 4
+Unicode::Collate has been upgraded from version 1.27 to 1.29.
+.IP \(bu 4
+Unicode::Normalize has been upgraded from version 1.27 to 1.28.
+.IP \(bu 4
+utf8 has been upgraded from version 1.22 to 1.24.
+.IP \(bu 4
+version has been upgraded from version 0.9924 to 0.9928.
+.IP \(bu 4
+warnings has been upgraded from version 1.47 to 1.51.
+.IP \(bu 4
+Win32 has been upgraded from version 0.53 to 0.57.
+.Sp
+Fix calling convention for \f(CW\*(C`PFNRegGetValueA\*(C'\fR.
+.Sp
+Added \f(CWWin32::IsSymlinkCreationAllowed()\fR,
+\&\f(CWWin32::IsDeveloperModeEnabled()\fR, and \f(CWWin32::GetProcessPrivileges()\fR.
+.Sp
+Removed old code for versions before Windows 2000.
+.IP \(bu 4
+XS::APItest has been upgraded from version 1.09 to 1.16.
+.IP \(bu 4
+XS::Typemap has been upgraded from version 0.17 to 0.18.
+.SH Documentation
+.IX Header "Documentation"
+.SS "New Documentation"
+.IX Subsection "New Documentation"
+\fIperldocstyle\fR
+.IX Subsection "perldocstyle"
+.PP
+This document is a guide for the authorship and maintenance of the
+documentation that ships with Perl.
+.PP
+\fIperlgov\fR
+.IX Subsection "perlgov"
+.PP
+This document describes the goals, scope, system, and rules for Perl's new
+governance model.
+.PP
+Other pod files, most notably perlpolicy, were amended to reflect
+its adoption.
+.SS "Changes to Existing Documentation"
+.IX Subsection "Changes to Existing Documentation"
+We have attempted to update the documentation to reflect the changes
+listed in this document. If you find any we have missed, open an issue
+at <https://github.com/Perl/perl5/issues>.
+.PP
+Additionally, the following selected changes have been made:
+.IP \(bu 4
+perlapi, perlguts, perlxs, and perlxstut now prefer \f(CW\*(C`SvPVbyte\*(C'\fR
+over \f(CW\*(C`SvPV\*(C'\fR.
+.IP \(bu 4
+References to \fBPumpking\fR have been replaced with a more accurate term or
+\&\fBSteering Council\fR where appropriate.
+.IP \(bu 4
+\&\fBThe Perl Steering Council\fR is now the fallback contact for security issues.
+.PP
+\fIperlapi\fR
+.IX Subsection "perlapi"
+.IP \(bu 4
+Efforts continue in improving the presentation of this document, and to
+document more API elements.
+.PP
+\fIperlcommunity\fR
+.IX Subsection "perlcommunity"
+.IP \(bu 4
+The freenode IRC URL has been updated.
+.PP
+\fIperldebguts\fR
+.IX Subsection "perldebguts"
+.IP \(bu 4
+Corrected the description of the scalar \f(CW\*(C`${"_<$filename"}\*(C'\fR
+variables.
+.PP
+\fIperldiag\fR
+.IX Subsection "perldiag"
+.IP \(bu 4
+Now documents additional examples of "not imported" warnings.
+.PP
+\fIperlfaq\fR
+.IX Subsection "perlfaq"
+.IP \(bu 4
+The Perl FAQ was updated to CPAN version 5.20201107 with minor
+improvements.
+.PP
+\fIperlfunc\fR
+.IX Subsection "perlfunc"
+.IP \(bu 4
+\&\fBmy()\fR and \fBstate()\fR now explicitly warn
+the reader that lexical variables should typically not be redeclared
+within the same scope or statement.
+[GH #18389 <https://github.com/Perl/perl5/issues/18389>]
+.IP \(bu 4
+The localtime entry has been improved and now
+also states that the result of the function is always in English.
+.IP \(bu 4
+\&\fBmsgsnd()\fR documented a length field included in the
+packed \f(CW\*(C`MSG\*(C'\fR parameter to \f(CWmsgsnd()\fR, but there was no such field.
+\&\f(CW\*(C`MSG\*(C'\fR contains only the type and the message content.
+.IP \(bu 4
+Better explanation of what happens when \f(CW\*(C`sleep\*(C'\fR is called with a zero or
+negative value.
+.IP \(bu 4
+Simplify the \f(CWsplit()\fR documentation by removing the \f(CWjoin()\fRs from the
+examples
+[GH #18676 <https://github.com/Perl/perl5/issues/18676>]
+.PP
+\fIperlgit\fR
+.IX Subsection "perlgit"
+.IP \(bu 4
+document how to create a remote-tracking branch for every PR
+.IP \(bu 4
+document how to get a PR as a local branch
+.PP
+\fIperlguts\fR
+.IX Subsection "perlguts"
+.IP \(bu 4
+perlguts now explains in greater detail the need to consult \f(CW\*(C`SvUTF8\*(C'\fR
+when calling \f(CW\*(C`SvPV\*(C'\fR (or variants). A new "How do I pass a Perl string to a C
+library?" section in the same document discusses when to use which style of
+macro to read an SV's string value.
+.IP \(bu 4
+Corrected \f(CW\*(C`my_rpeep\*(C'\fR example in perlguts.
+.IP \(bu 4
+A section has been added on the formatted printing of special sizes.
+.PP
+\fIperlop\fR
+.IX Subsection "perlop"
+.IP \(bu 4
+The \f(CW\*(C`<>\*(C'\fR and \f(CW\*(C`<<>>\*(C'\fR operators are commonly referred to as
+the diamond and double diamond operators respectively, but that wasn't
+mentioned previously in their documentation.
+.IP \(bu 4
+Document range op behavior change.
+.PP
+\fIperlpacktut\fR
+.IX Subsection "perlpacktut"
+.IP \(bu 4
+Incorrect variables used in an example have been fixed.
+.PP
+\fIperlsyn\fR
+.IX Subsection "perlsyn"
+.IP \(bu 4
+Document that \fBcaller()\fR does not see try{} blocks
+.IP \(bu 4
+A new example shows how a lexical \f(CW\*(C`my\*(C'\fR variable can be declared
+during the initialization of a \f(CW\*(C`for\*(C'\fR loop.
+.PP
+\fIperlunifaq\fR
+.IX Subsection "perlunifaq"
+.IP \(bu 4
+Fix description of what Perl does with unencoded strings
+.SH Diagnostics
+.IX Header "Diagnostics"
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see perldiag.
+.SS "New Diagnostics"
+.IX Subsection "New Diagnostics"
+\fINew Errors\fR
+.IX Subsection "New Errors"
+.IP \(bu 4
+Bareword filehandle "%s" not allowed under 'no feature "bareword_filehandles"'
+.Sp
+This accompanies the new
+bareword_filehandles feature.
+.IP \(bu 4
+Multidimensional hash lookup is disabled
+.Sp
+This accompanies the new
+multidimensional feature.
+.PP
+\fINew Warnings\fR
+.IX Subsection "New Warnings"
+.IP \(bu 4
+Wide character in setenv key (encoding to utf8)
+.Sp
+Attempts to put wide characters into environment variable keys via \f(CW%ENV\fR now
+provoke this warning.
+.SS "Changes to Existing Diagnostics"
+.IX Subsection "Changes to Existing Diagnostics"
+.IP \(bu 4
+Error \f(CW%s\fR in expansion of \f(CW%s\fR
+.Sp
+An error was encountered in handling a user-defined property
+("User-Defined Character Properties" in perlunicode). These are
+programmer written subroutines, hence subject to errors that may
+prevent them from compiling or running.
+.IP \(bu 4
+Infinite recursion in user-defined property
+.Sp
+A user-defined property ("User-Defined Character Properties" in perlunicode)
+can depend on the definitions of other user-defined
+properties. If the chain of dependencies leads back to this property,
+infinite recursion would occur, were it not for the check that raised
+this error.
+.IP \(bu 4
+Timeout waiting for another thread to define \ep{%s}
+.Sp
+The first time a user-defined property
+("User-Defined Character Properties" in perlunicode) is used, its
+definition is looked up and converted into an internal form for more
+efficient handling in subsequent uses. There could be a race if two or
+more threads tried to do this processing nearly simultaneously.
+.IP \(bu 4
+Unknown user-defined property name \ep{%s}
+.Sp
+You specified to use a property within the \f(CW\*(C`\ep{...}\*(C'\fR which was a
+syntactically valid user-defined property, but no definition was found
+for it
+.IP \(bu 4
+Too few arguments for subroutine '%s' (got \f(CW%d\fR; expected \f(CW%d\fR)
+.Sp
+Subroutine argument-count mismatch errors now include the number of
+given and expected arguments.
+.IP \(bu 4
+Too many arguments for subroutine '%s' (got \f(CW%d\fR; expected \f(CW%d\fR)
+.Sp
+Subroutine argument-count mismatch errors now include the number of
+given and expected arguments.
+.IP \(bu 4
+Lost precision when \f(CW%s\fR \f(CW%f\fR by 1
+.Sp
+This warning was only issued for positive too-large values when
+incrementing, and only for negative ones when decrementing.
+It is now issued for both positive or negative too-large values.
+[GH #18333 <https://github.com/Perl/perl5/issues/18333>]
+.IP \(bu 4
+\&\eK not permitted in lookahead/lookbehind in regex; marked by <\-\- HERE in m/%s/
+.Sp
+This error was incorrectly produced in some cases involving nested
+lookarounds. This has been fixed.
+[GH #18123 <https://github.com/Perl/perl5/issues/18123>]
+.IP \(bu 4
+Use of uninitialized value%s
+.Sp
+This warning may now include the array or hash index when the
+uninitialized value is the result of an element not found. This will
+only happen if the index is a simple non-magical variable.
+.SH "Utility Changes"
+.IX Header "Utility Changes"
+.SS "perl5db.pl (the debugger)"
+.IX Subsection "perl5db.pl (the debugger)"
+.IP \(bu 4
+New option: \f(CW\*(C`HistItemMinLength\*(C'\fR
+.Sp
+This option controls the minimum length a command must be to get stored in
+history. Traditionally, this has been fixed at 2. Changes to the debugger
+are often perilous, and new bugs should be reported so the debugger can be
+debugged.
+.IP \(bu 4
+Fix to \f(CW\*(C`i\*(C'\fR and \f(CW\*(C`l\*(C'\fR commands
+.Sp
+The \f(CW\*(C`i $var\*(C'\fR and \f(CW\*(C`l $var\*(C'\fR commands work again with lexical variables.
+.SH "Configuration and Compilation"
+.IX Header "Configuration and Compilation"
+.IP \(bu 4
+Prevented incpath to spill into libpth
+.IP \(bu 4
+Use realpath if available. (This might catch more duplicate paths.)
+.IP \(bu 4
+Only include real existing paths.
+.IP \(bu 4
+Filter inc paths out of libpth.
+.IP \(bu 4
+stadtx hash support has been removed
+.Sp
+stadtx support has been entirely removed. Previously, it could be requested
+with \f(CW\*(C`PERL_HASH_FUNC_STADTX\*(C'\fR, and was default in 64\-bit builds. It has been
+replaced with SipHash. SipHash has been more rigorously reviewed than stadtx.
+.IP \(bu 4
+Configure
+.Sp
+A new probe checks for buggy libc implementations of the \f(CW\*(C`gcvt\*(C'\fR/\f(CW\*(C`qgcvt\*(C'\fR
+functions.
+[GH #18170 <https://github.com/Perl/perl5/issues/18170>]
+.IP \(bu 4
+\&\f(CW\*(C`\-Dusedefaultstrict\*(C'\fR
+.Sp
+Perl can now be built with strict on by default (using the configuration
+option \f(CW\*(C`\-Dusedefaultstrict\*(C'\fR.
+.Sp
+These strict defaults do not apply when \f(CW\*(C`perl\*(C'\fR is run via \f(CW\*(C`\-e\*(C'\fR or \f(CW\*(C`\-E\*(C'\fR.
+.Sp
+This setting provides a diagnostic mechanism intended for development
+purposes only and is thus undefined by default.
+.IP \(bu 4
+The minimum supported Bison version is now 2.4, and the maximum is 3.7.
+.IP \(bu 4
+Newer 64\-bit versions of the Intel C/C++ compiler are now recognised
+and have the correct flags set.
+.IP \(bu 4
+We now trap SIGBUS when \fIConfigure\fR checks for \f(CW\*(C`va_copy\*(C'\fR.
+.Sp
+On several systems the attempt to determine if we need \f(CW\*(C`va_copy\*(C'\fR or similar
+results in a SIGBUS instead of the expected SIGSEGV, which previously caused a
+core dump.
+.Sp
+[GH #18148 <https://github.com/Perl/perl5/issues/18148>]
+.SH Testing
+.IX Header "Testing"
+Tests were added and changed to reflect the other additions and
+changes in this release. Furthermore, these significant changes were
+made:
+.IP \(bu 4
+Split Config-dependent tests in \fIt/opbasic/arith.t\fR to \fIt/op/arith2.t\fR
+.IP \(bu 4
+\&\fIt/re/opt.t\fR was added, providing a test harness for regexp optimization.
+[GH #18213 <https://github.com/Perl/perl5/pull/18213>]
+.IP \(bu 4
+A workaround for CPAN distributions needing dot in \f(CW@INC\fR has been removed
+[GH #18394 <https://github.com/Perl/perl5/pull/18394>].
+All distributions that previously required the workaround have now been
+adapted.
+.IP \(bu 4
+When testing in parallel on many-core platforms, you can now cause the
+test suite to finish somewhat earlier, but with less logical ordering of
+the tests, by setting
+.Sp
+.Vb 1
+\& PERL_TEST_HARNESS_ASAP=1
+.Ve
+.Sp
+while running the test suite.
+.SH "Platform Support"
+.IX Header "Platform Support"
+.SS "New Platforms"
+.IX Subsection "New Platforms"
+.IP 9front 4
+.IX Item "9front"
+Allow building Perl on i386 9front systems (a fork of plan9).
+.SS "Updated Platforms"
+.IX Subsection "Updated Platforms"
+.IP Plan9 4
+.IX Item "Plan9"
+Improve support for Plan9 on i386 platforms.
+.IP "MacOS (Darwin)" 4
+.IX Item "MacOS (Darwin)"
+The hints file for darwin has been updated to handle future MacOS versions
+beyond 10. [GH #17946 <https://github.com/Perl/perl5/issues/17946>]
+.SS "Discontinued Platforms"
+.IX Subsection "Discontinued Platforms"
+.IP Symbian 4
+.IX Item "Symbian"
+Support code relating to Symbian has been removed. Symbian was an
+operating system for mobile devices. The port was last updated in July
+2009, and the platform itself in October 2012.
+.SS "Platform-Specific Notes"
+.IX Subsection "Platform-Specific Notes"
+.IP DragonFlyBSD 4
+.IX Item "DragonFlyBSD"
+Tests were updated to workaround DragonFlyBSD bugs in tc*()
+functions <https://bugs.dragonflybsd.org/issues/3252> and ctime
+updates <https://bugs.dragonflybsd.org/issues/3251>.
+.IP "Mac OS X" 4
+.IX Item "Mac OS X"
+A number of system libraries no longer exist as actual files on Big Sur,
+even though \f(CW\*(C`dlopen\*(C'\fR will pretend they do, so now we fall back to \f(CW\*(C`dlopen\*(C'\fR
+if a library file can not be found.
+[GH #18407 <https://github.com/Perl/perl5/issues/18407>]
+.IP Windows 4
+.IX Item "Windows"
+Reading non-ASCII characters from the console when its codepage was set to
+65001 (UTF\-8) was broken due to a bug in Windows. A workaround for this
+problem has been implemented.
+[GH #18701 <https://github.com/Perl/perl5/issues/18701>]
+.Sp
+Building with mingw.org compilers (version 3.4.5 or later) using mingw runtime
+versions < 3.22 now works again. This was broken in Perl 5.31.4.
+.Sp
+Building with mingw.org compilers (version 3.4.5 or later) using mingw runtime
+versions >= 3.21 now works (for compilers up to version 5.3.0).
+.Sp
+\&\fIMakefile.mk\fR, and thus support for dmake, has been removed. It is still
+possible to build Perl on Windows using nmake (Makefile) and GNU make
+(GNUmakefile).
+[GH #18511 <https://github.com/Perl/perl5/pull/18511>]
+.Sp
+perl can now be built with \f(CW\*(C`USE_QUADMATH\*(C'\fR on MS Windows using
+(32\-bit and 64\-bit) mingw\-w64 ports of gcc.
+[GH #18465 <https://github.com/Perl/perl5/pull/18465>]
+.Sp
+The \fIpl2bat.pl\fR utility now needs to \f(CW\*(C`use ExtUtils::PL2Bat\*(C'\fR. This could
+cause failures in parallel builds.
+.Sp
+Windows now supports \fBsymlink()\fR and
+\&\fBreadlink()\fR, and \fBlstat()\fR is no
+longer an alias for \fBstat()\fR.
+[GH #18005 <https://github.com/Perl/perl5/issues/18005>].
+.Sp
+Unlike POSIX systems, creating a symbolic link on Windows requires
+either elevated privileges or Windows 10 1703 or later with Developer
+Mode enabled.
+.Sp
+\&\fBstat()\fR, including \f(CW\*(C`stat FILEHANDLE\*(C'\fR, and \fBlstat()\fR now uses our own
+implementation that populates the device \f(CW\*(C`dev\*(C'\fR and inode numbers
+\&\f(CW\*(C`ino\*(C'\fR returned rather than always returning zero. The number of
+links \f(CW\*(C`nlink\*(C'\fR field is now always populated.
+.Sp
+\&\f(CW\*(C`${^WIN32_SLOPPY_STAT}\*(C'\fR previously
+controlled whether the \f(CW\*(C`nlink\*(C'\fR field was populated requiring a
+separate Windows API call to fetch, since \f(CW\*(C`nlink\*(C'\fR and the other
+information required for \f(CWstat()\fR is now retrieved in a single API call.
+.Sp
+The \f(CW\*(C`\-r\*(C'\fR and \f(CW\*(C`\-w\*(C'\fR operators now return true for the \f(CW\*(C`STDIN\*(C'\fR,
+\&\f(CW\*(C`STDOUT\*(C'\fR and \f(CW\*(C`STDERR\*(C'\fR handles. Unfortunately it still won't return
+true for duplicates of those handles.
+[GH #8502 <https://github.com/Perl/perl5/issues/8502>].
+.Sp
+The times returned by \fBstat()\fR and \fBlstat()\fR are no longer incorrect
+across Daylight Savings Time adjustments.
+[GH #6080 <https://github.com/Perl/perl5/issues/6080>].
+.Sp
+\&\f(CW\*(C`\-x\*(C'\fR on a filehandle should now match \f(CW\*(C`\-x\*(C'\fR on the corresponding
+filename on Vista or later.
+[GH #4145 <https://github.com/Perl/perl5/issues/4145>].
+.Sp
+\&\f(CW\*(C`\-e \*(Aq"\*(Aq\*(C'\fR no longer incorrectly returns true.
+[GH #12431 <https://github.com/Perl/perl5/issues/12431>].
+.Sp
+The same manifest is now used for Visual C++ and gcc builds.
+.Sp
+Previously, MSVC builds were using the \fB/manifestdependency\fR flag instead of
+embedding \fIperlexe.manifest\fR, which caused issues such as \f(CWGetVersionEx()\fR
+returning the wrong version number on Windows 10.
+.IP z/OS 4
+.IX Item "z/OS"
+The locale categories \f(CW\*(C`LC_SYNTAX\*(C'\fR and \f(CW\*(C`LC_TOD\*(C'\fR are now recognized.
+Perl doesn't do anything with these, except it now allows you to specify
+them. They are included in \f(CW\*(C`LC_ALL\*(C'\fR.
+.SH "Internal Changes"
+.IX Header "Internal Changes"
+.IP \(bu 4
+Corrected handling of double and long double parameters for perl's
+implementation of formatted output for \f(CW\*(C`\-Dusequadmath\*(C'\fR builds.
+.Sp
+This applies to \f(CWPerlIO_printf()\fR, \f(CWcroak()\fR, \f(CWwarn()\fR, \f(CWsv_catpvf()\fR and
+their variants.
+.Sp
+Previously in \f(CW\*(C`quadmath\*(C'\fR builds, code like:
+.Sp
+.Vb 1
+\& PerlIO_printf(PerlIO_stderr(), "%g", somedouble);
+.Ve
+.Sp
+or
+.Sp
+.Vb 1
+\& PerlIO_printf(PerlIO_stderr(), "%Lg", somelongdouble);
+.Ve
+.Sp
+would erroneously throw an exception "panic: quadmath invalid format
+\&...", since the code added for quadmath builds assumed \f(CW\*(C`NV\*(C'\fRs were the
+only floating point format passed into these functions.
+.Sp
+This code would also process the standard C long double specifier \f(CW\*(C`L\*(C'\fR
+as if it expected an \f(CW\*(C`NV\*(C'\fR (\f(CW\*(C`_\|_float128\*(C'\fR for quadmath builds),
+resulting in undefined behaviour.
+.Sp
+These functions now correctly accept doubles, long doubles and NVs.
+.IP \(bu 4
+Previously the right operand of bitwise shift operators (shift amount)
+was implicitly cast from IV to int, but it might lead wrong results
+if IV does not fit in int.
+.Sp
+And also, shifting INT_MIN bits used to yield the shiftee unchanged
+(treated as 0\-bit shift instead of negative shift).
+.IP \(bu 4
+A set of \f(CW\*(C`cop_hints_exists_{pv,pvn,pvs,sv}\*(C'\fR functions was added,
+to support checking for the existence of keys in the hints hash of a
+specific cop without needing to create a mortal copy of said value.
+.IP \(bu 4
+An aid has been added for using the \f(CW\*(C`DEBUG\*(C'\fR macros when debugging XS or
+C code. The comments in \fIperl.h\fR describe \f(CW\*(C`DEBUG_PRE_STMTS\*(C'\fR and
+\&\f(CW\*(C`DEBUG_POST_STMTS\*(C'\fR. which you can \f(CW\*(C`#define\*(C'\fR to do things like save and
+restore \f(CW\*(C`errno\*(C'\fR, in case the \f(CW\*(C`DEBUG\*(C'\fR calls are interfering with that,
+or to display timestamps, or which thread it's coming from, or the
+location of the call, or whatever. You can make a quick hack to help
+you track something down without having to edit individual \f(CW\*(C`DEBUG\*(C'\fR
+calls.
+.IP \(bu 4
+Make \f(CW\*(C`REFCOUNTED_HE_EXISTS\*(C'\fR available outside of core
+.IP \(bu 4
+All \f(CW\*(C`SvTRUE\*(C'\fR\-ish functions now evaluate their arguments exactly once.
+In 5.32, plain "\f(CW\*(C`SvTRUE\*(C'\fR" in perlapi was changed to do that; now the rest
+do as well.
+.IP \(bu 4
+Unicode is now a first class citizen when considering the pattern /A*B/ where
+A and B are arbitrary. The pattern matching code tries to make a tight loop
+to match the span of A's. The logic of this was now really updated with
+support for UTF\-8.
+.IP \(bu 4
+The re module has a new function \f(CW\*(C`optimization\*(C'\fR, which can return a
+hashref of optimization data discovered about a compiled regexp.
+.IP \(bu 4
+The \f(CW\*(C`PERL_GLOBAL_STRUCT\*(C'\fR compilation option has been removed, and
+with it the need or the \f(CW\*(C`dVAR\*(C'\fR macro. \f(CW\*(C`dVAR\*(C'\fR remains defined as a
+no-op outside \f(CW\*(C`PERL_CORE\*(C'\fR for backwards compatiblity with XS modules.
+.IP \(bu 4
+A new savestack type \f(CW\*(C`SAVEt_HINTS_HH\*(C'\fR has been added, which neatens the
+previous behaviour of \f(CW\*(C`SAVEt_HINTS\*(C'\fR. On previous versions the types and
+values pushed to the save stack would depend on whether the hints included the
+\&\f(CW\*(C`HINT_LOCALIZE_HH\*(C'\fR bit, which complicates external code that inspects the
+save stack. The new version uses a different savestack type to indicate the
+difference.
+.IP \(bu 4
+A new API function "av_count" in perlapi has been added which gives a
+clearly named way to find how many elements are in an array.
+.SH "Selected Bug Fixes"
+.IX Header "Selected Bug Fixes"
+.IP \(bu 4
+Setting \f(CW%ENV\fR now properly handles upgraded strings in the key. Previously
+Perl sent the SV's internal PV directly to the OS; now it will handle keys
+as it has handled values since 5.18: attempt to downgrade the string first;
+if that fails then warn and use the utf8 form.
+.IP \(bu 4
+Fix a memory leak in regcomp.c
+[GH #18604 <https://github.com/Perl/perl5/issues/18604>]
+.IP \(bu 4
+pack/unpack format 'D' now works on all systems that could support it
+.Sp
+Previously if \f(CW\*(C`NV == long double\*(C'\fR, now it is supported on all platforms that
+have long doubles. In particular that means it is now also supported on
+quadmath platforms.
+.IP \(bu 4
+Skip trying to constant fold an incomplete op tree
+[GH #18380 <https://github.com/Perl/perl5/issues/18380>]
+.Sp
+Constant folding of chained comparison op trees could fail under certain
+conditions, causing perl to crash. As a quick fix, constant folding is
+now skipped for such op trees. This also addresses
+[GH #17917 <https://github.com/Perl/perl5/issues/17917>].
+.IP \(bu 4
+\&\f(CW%g\fR formatting broken on Ubuntu\-18.04, \f(CW\*(C`NVSIZE == 8\*(C'\fR
+[GH #18170 <https://github.com/Perl/perl5/issues/18170>]
+.Sp
+Buggy libc implementations of the \f(CW\*(C`gcvt\*(C'\fR and \f(CW\*(C`qgcvt\*(C'\fR functions
+caused \f(CW\*(C`(s)printf\*(C'\fR to incorrectly truncate \f(CW%g\fR formatted numbers.
+A new Configure probe now checks for this, with the result that the libc
+\&\f(CW\*(C`sprintf\*(C'\fR will be used in place of \f(CW\*(C`gcvt\*(C'\fR and \f(CW\*(C`qgcvt\*(C'\fR.
+.Sp
+Tests added as part of this fix also revealed related problems in
+some Windows builds. The makefiles for MINGW builds on Windows have
+thus been adjusted to use \f(CW\*(C`USE_MINGW_ANSI_STDIO\*(C'\fR by default, ensuring
+that they also provide correct \f(CW\*(C`(s)printf\*(C'\fR formatting of numbers.
+.IP \(bu 4
+\&\fIop.c\fR: croak on \f(CW\*(C`my $_\*(C'\fR when \f(CW\*(C`use utf8\*(C'\fR is in effect
+[GH #18449 <https://github.com/Perl/perl5/issues/18449>]
+.Sp
+The lexical topic feature experiment was removed in Perl v5.24 and
+declaring \f(CW\*(C`my $_\*(C'\fR became a compile time error. However, it was previously
+still possible to make this declaration if \f(CW\*(C`use utf8\*(C'\fR was in effect.
+.IP \(bu 4
+\&\fIregexec.c\fR: Fix assertion failure
+[GH #18451 <https://github.com/Perl/perl5/issues/18451>]
+.Sp
+Fuzzing triggered an assertion failure in the regexp engine when too many
+characters were copied into a buffer.
+.IP \(bu 4
+\&\fBsemctl()\fR, \fBmsgctl()\fR, and
+\&\fBshmctl()\fR now properly reset the UTF\-8 flag on the
+\&\f(CW\*(C`ARG\*(C'\fR parameter if it's modified for \f(CW\*(C`IPC_STAT\*(C'\fR or \f(CW\*(C`GETALL\*(C'\fR
+operations.
+.IP \(bu 4
+\&\f(CWsemctl()\fR, \f(CWmsgctl()\fR, and \f(CWshmctl()\fR now attempt to downgrade the \f(CW\*(C`ARG\*(C'\fR
+parameter if its value is being used as input to \f(CW\*(C`IPC_SET\*(C'\fR or
+\&\f(CW\*(C`SETALL\*(C'\fR calls. A failed downgrade will thrown an exception.
+.IP \(bu 4
+In cases where \f(CWsemctl()\fR, \f(CWmsgctl()\fR or \f(CWshmctl()\fR would treat the \f(CW\*(C`ARG\*(C'\fR
+parameter as a pointer, an undefined value no longer generates a
+warning. In most such calls the pointer isn't used anyway and this
+allows you to supply \f(CW\*(C`undef\*(C'\fR for a value not used by the underlying
+function.
+.IP \(bu 4
+\&\fBsemop()\fR now downgrades the \f(CW\*(C`OPSTRING\*(C'\fR parameter,
+\&\fBmsgsnd()\fR now downgrades the \f(CW\*(C`MSG\*(C'\fR parameter and
+shmwrite now downgrades the \f(CW\*(C`STRING\*(C'\fR parameter
+to treat them as bytes. Previously they would be left upgraded,
+providing a corrupted structure to the underlying function call.
+.IP \(bu 4
+\&\fBmsgrcv()\fR now properly resets the UTF\-8 flag the
+\&\f(CW\*(C`VAR\*(C'\fR parameter when it is modified. Previously the UTF\-8 flag could
+be left on, resulting in a possibly corrupt result in \f(CW\*(C`VAR\*(C'\fR.
+.IP \(bu 4
+Magic is now called correctly for stacked file test operators.
+[GH #18293 <https://github.com/Perl/perl5/issues/18293>]
+.IP \(bu 4
+The \f(CW\*(C`@ary = split(...)\*(C'\fR optimization no longer switches in the target
+array as the value stack.
+[GH #18232 <https://github.com/Perl/perl5/issues/18232>]
+Also see discussion at
+<https://github.com/Perl/perl5/pull/18014#issuecomment\-671299506>.
+.IP \(bu 4
+Fixed a bug in which some regexps with recursive subpatterns matched
+incorrectly.
+.Sp
+[GH #18096 <https://github.com/Perl/perl5/issues/18096>]
+.IP \(bu 4
+On Win32, \f(CW\*(C`waitpid(\-1, WNOHANG)\*(C'\fR could sometimes have a very large
+timeout. [GH #16529 <https://github.com/Perl/perl5/issues/16529>]
+.IP \(bu 4
+\&\f(CW\*(C`MARK\*(C'\fR and hence \f(CW\*(C`items\*(C'\fR are now correctly initialized in \f(CW\*(C`BOOT\*(C'\fR XSUBs.
+.IP \(bu 4
+Some list assignments involving \f(CW\*(C`undef\*(C'\fR on the left-hand side were
+over-optimized and produced incorrect results.
+[GH #16685 <https://github.com/Perl/perl5/issues/16685>],
+[GH #17816 <https://github.com/Perl/perl5/issues/17816>]
+.SH "Known Problems"
+.IX Header "Known Problems"
+None
+.SH "Errata From Previous Releases"
+.IX Header "Errata From Previous Releases"
+None
+.SH Obituary
+.IX Header "Obituary"
+Kent Fredric (KENTNL) passed away in February 2021. A native of New Zealand
+and a self-described "huge geek," Kent was the author or maintainer of 178
+CPAN distributions, the Perl maintainer for the Gentoo Linux distribution and
+a contributor to the Perl core distribution. He is mourned by his family,
+friends and open source software communities worldwide.
+.SH Acknowledgements
+.IX Header "Acknowledgements"
+Perl 5.34.0 represents approximately 11 months of development since Perl
+5.32.0 and contains approximately 280,000 lines of changes across 2,100
+files from 78 authors.
+.PP
+Excluding auto-generated files, documentation and release tools, there were
+approximately 150,000 lines of changes to 1,300 .pm, .t, .c and .h files.
+.PP
+Perl continues to flourish into its fourth decade thanks to a vibrant
+community of users and developers. The following people are known to have
+contributed the improvements that became Perl 5.34.0:
+.PP
+Aaron Crane, Adam Hartley, Andy Dougherty, Ben Cornett, Branislav
+Zahradník, brian d foy, Chris 'BinGOs' Williams, Christian Walde
+(Mithaldu), Craig A. Berry, Dagfinn Ilmari Mannsåker, Dan Book, Daniel
+Böhmer, Daniel Laügt, Dan Kogai, David Cantrell, David Mitchell, Dominic
+Hamon, E. Choroba, Ed J, Eric Herman, Eugene Alvin Villar,
+Felipe Gasper, Giovanni Tataranni, Graham Knop, Graham Ollis, Hauke D,
+H.Merijn Brand, Hugo van der Sanden, Ichinose Shogo, Ivan Baidakou, Jae
+Bradley, James E Keenan, Jason McIntosh, jkahrman, John Karr, John Lightsey,
+Kang-min Liu, Karen Etheridge, Karl Williamson, Keith Thompson, Leon
+Timmermans, Marc Reisner, Marcus Holland-Moritz, Max Maischein, Michael G
+Schwern, Nicholas Clark, Nicolas R., Paul Evans, Petr Písař, raiph, Renee
+Baecker, Ricardo Signes, Richard Leach, Romano, Ryan Voots, Samanta Navarro,
+Samuel Thibault, Sawyer X, Scott Baker, Sergey Poznyakoff, Sevan Janiyan,
+Shirakata Kentaro, Shlomi Fish, Sisyphus, Sizhe Zhao, Steve Hay, TAKAI
+Kousuke, Thibault Duponchelle, Todd Rinaldo, Tomasz Konojacki, Tom Hukins,
+Tom Stellard, Tony Cook, vividsnow, Yves Orton, Zakariyya Mughal,
+Михаил Козачков.
+.PP
+The list above is almost certainly incomplete as it is automatically
+generated from version control history. In particular, it does not include
+the names of the (very much appreciated) contributors who reported issues to
+the Perl bug tracker.
+.PP
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core. We're grateful to the entire CPAN community for
+helping Perl to flourish.
+.PP
+For a more complete list of all of Perl's historical contributors, please
+see the \fIAUTHORS\fR file in the Perl source distribution.
+.SH "Reporting Bugs"
+.IX Header "Reporting Bugs"
+If you find what you think is a bug, you might check the perl bug database
+at <https://github.com/Perl/perl5/issues>. There may also be information at
+<http://www.perl.org/>, the Perl Home Page.
+.PP
+If you believe you have an unreported bug, please open an issue at
+<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
+tiny but sufficient test case.
+.PP
+If the bug you are reporting has security implications which make it
+inappropriate to send to a public issue tracker, then see
+"SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec
+for details of how to report the issue.
+.SH "Give Thanks"
+.IX Header "Give Thanks"
+If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
+you can do so by running the \f(CW\*(C`perlthanks\*(C'\fR program:
+.PP
+.Vb 1
+\& perlthanks
+.Ve
+.PP
+This will send an email to the Perl 5 Porters list with your show of thanks.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+The \fIChanges\fR file for an explanation of how to view exhaustive details on
+what changed.
+.PP
+The \fIINSTALL\fR file for how to build Perl.
+.PP
+The \fIREADME\fR file for general stuff.
+.PP
+The \fIArtistic\fR and \fICopying\fR files for copyright information.