5 perldelta - what is new for perl v5.33.6
9 This document describes differences between the 5.33.5 release and the
12 If you are upgrading from an earlier release such as 5.33.4, first read
13 L<perl5335delta>, which describes differences between 5.33.4 and 5.33.5.
15 =head1 Modules and Pragmata
17 =head2 Updated Modules and Pragmata
23 L<feature> has been upgraded from version 1.61 to 1.62.
25 Added the default enabled C<bareword_filehandles> feature.
31 =head2 New Documentation
35 This document describes the goals, scope, system, and rules for Perl's new
38 Other pod files, most notably L<perlpolicy>, were amended to reflect
41 =head2 Changes to Existing Documentation
43 We have attempted to update the documentation to reflect the changes
44 listed in this document. If you find any we have missed, open an issue
45 at L<https://github.com/Perl/perl5/issues>.
47 Additionally, the following selected changes have been made:
49 =head3 L<perlcommunity>
55 The freenode IRC URL has been updated.
65 The L<localtime|perlfunc/localtime> entry has been improved and now
66 also states that the result of the function is always in English.
76 A new example shows how a lexical 'my' variable can be declared
77 during the initialization of a 'for' loop.
83 The following additions or changes have been made to diagnostic output,
84 including warnings and fatal error messages. For the complete list of
85 diagnostic messages, see L<perldiag>.
87 =head2 New Diagnostics
95 L<Bareword filehandle "%s" not allowed under 'no feature|perldiag/"Bareword filehandle "%s" not allowed under 'no feature "bareword_filehandles"'">
97 This accompanies the new L<bareword_filehandles|feature/"The 'bareword_filehandles' feature."> feature.
101 =head2 Changes to Existing Diagnostics
107 L<Too few arguments for subroutine '%s' (got %d; expected %d)|perldiag/"Too few arguments for subroutine '%s' (got %d; expected %d)">
109 Subroutine argument-count mismatch errors now include the number of
110 given and expected arguments.
114 L<Too many arguments for subroutine '%s' (got %d; expected %d)|perldiag/"Too many arguments for subroutine '%s' (got %d; expected %d)">
116 Subroutine argument-count mismatch errors now include the number of
117 given and expected arguments.
121 L<Lost precision when %s %f by 1|perldiag/"Lost precision when %s %f by 1">
123 This warning was only issued for positive too-large values when
124 incrementing, and only for negative ones when decrementing.
125 It is now issued for both of positive or negative too-large values.
126 [L<GH #18333|https://github.com/Perl/perl5/issues/18333>]
130 =head1 Configuration and Compilation
136 A new probe tests for buggy implementations of the gcvt/qgcvt functions.
137 [L<GH #18170|https://github.com/Perl/perl5/issues/18170>]
143 Tests were added and changed to reflect the other additions and
144 changes in this release. Furthermore, these significant changes were
151 t/re/opt.t was added, providing a test harness for regexp optimization.
152 [L<GH #18213|https://github.com/Perl/perl5/pull/18213>]
156 A workaround for CPAN distributions needing dot in @INC has been removed
157 [L<GH #18394|https://github.com/Perl/perl5/pull/18394>].
158 All distributions that previously required the workaround have now been
163 =head1 Platform Support
165 =head2 Platform-Specific Notes
171 A number of system libraries no longer exist as actual files on Big Sur,
172 even though dlopen will pretend they do, so now we fall back to dlopen
173 if a library file can not be found.
174 [L<GH #18407|https://github.com/Perl/perl5/issues/18407>]
178 perl can now be built with USE_QUADMATH on MS Windows using
179 (32-bit and 64-bit) mingw-w64 ports of gcc.
180 [L<GH #18465|https://github.com/Perl/perl5/pull/18465>]
182 THe pl2bat.pl utility now needs access to ExtUtils::PL2Bat. This could
183 cause failures in parallel builds.
187 =head1 Selected Bug Fixes
193 Skip trying to constant fold an incomplete op tree
194 [L<GH #18380|https://github.com/Perl/perl5/issues/18380>]
196 Constant folding of chained comparison op trees could fail under certain
197 conditions, causing perl to crash. As a quick fix, constant folding is
198 now skipped for such op trees. This also addresses
199 [L<GH #17917|https://github.com/Perl/perl5/issues/17917>].
203 %g formatting broken on Ubuntu-18.04, NVSIZE == 8
204 [L<GH #18170|https://github.com/Perl/perl5/issues/18170>]
206 Buggy libc implementations of the C<gcvt> and C<qgcvt> functions
207 caused (s)printf to incorrectly truncated %g formatted numbers. A new
208 Configure probe now checks for this, with the result that the libc
209 C<sprintf> will be used in place of C<gcvt> and C<qgcvt>.
211 Tests added as part of this fix also revealed related problems in
212 some Windows builds. The makefiles for MINGW builds on Windows have
213 thus been adjusted to use USE_MINGW_ANSI_STDIO by default, ensuring
214 that such builds also provide correct (s)printf formatting of numbers.
218 op.c: croak on "my $_" when "use utf8" is in effect
219 [L<GH #18449|https://github.com/Perl/perl5/issues/18449>]
221 The lexical topic () feature experiment was removed in Perl v5.24 and
222 declaring C<my $_> became a compile time error. However, it was still
223 possible to make this declaration if utf8 was in effect.
227 regexec.c: Fix assertion failure
228 [L<GH #18451|https://github.com/Perl/perl5/issues/18451>]
230 Fuzzing triggered an assertion failure when too many characters were
231 copied into a buffer.
235 =head1 Acknowledgements
237 XXX Generate this with:
239 perl Porting/acknowledgements.pl v5.33.5..HEAD
241 =head1 Reporting Bugs
243 If you find what you think is a bug, you might check the perl bug database
244 at L<https://github.com/Perl/perl5/issues>. There may also be information at
245 L<http://www.perl.org/>, the Perl Home Page.
247 If you believe you have an unreported bug, please open an issue at
248 L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
249 tiny but sufficient test case.
251 If the bug you are reporting has security implications which make it
252 inappropriate to send to a public issue tracker, then see
253 L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
254 for details of how to report the issue.
258 If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
259 you can do so by running the C<perlthanks> program:
263 This will send an email to the Perl 5 Porters list with your show of thanks.
267 The F<Changes> file for an explanation of how to view exhaustive details on
270 The F<INSTALL> file for how to build Perl.
272 The F<README> file for general stuff.
274 The F<Artistic> and F<Copying> files for copyright information.