diff options
Diffstat (limited to 'upstream/mageia-cauldron/man1/perl5340delta.1')
-rw-r--r-- | upstream/mageia-cauldron/man1/perl5340delta.1 | 1052 |
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. |