5 perl5358delta - what is new for perl v5.35.8
9 This document describes differences between the 5.35.7 release and the 5.35.8
12 If you are upgrading from an earlier release such as 5.35.6, first read
13 L<perl5357delta>, which describes differences between 5.35.6 and 5.35.7.
15 =head1 Core Enhancements
17 =head2 Try/Catch Syntax Now Recognises C<finally> Blocks
19 The experimental C<try>/C<catch> syntax has been extended to support an
20 optional third block introduced by the C<finally> keyword.
30 print "This happens regardless\n";
33 This provides code which runs at the end of the C<try>/C<catch> construct,
34 even if aborted by an exception or control-flow keyword. They are similar
37 For more information, see L<perlsyn/"Try Catch Exception Handling">.
39 =head1 Incompatible Changes
41 =head2 A physically empty sort is now a compile-time error
43 @a = sort @empty; # unaffected
44 @a = sort; # now a compile-time error
46 A bare sort used to be a weird way to create an empty list; now it croaks
47 at compile time. This is change is intended to free up some of the syntax
48 space for possible future enhancements to C<sort>.
50 =head1 Performance Enhancements
56 Try / Catch optimization: make sure to rpeep() the body of catch {} blocks
60 =head1 Modules and Pragmata
62 =head2 Updated Modules and Pragmata
68 L<Module::CoreList> has been upgraded from version 5.20211220 to 5.20220120.
72 L<bignum> has been upgraded from version 0.63 to 0.64.
76 L<Data::Dumper> has been upgraded from version 2.183 to 2.184.
82 L<File::Fetch> has been upgraded from version 1.00 to 1.04.
86 L<File::Find> has been upgraded from version 1.39_01 to 1.40.
88 Replace bareword filehandle with a lexical scalar.
92 L<Locale::Maketext> has been upgraded from version 1.29 to 1.30.
94 Provide inclusive names allowlist and denylist
98 L<Math::BigInt> has been upgraded from version 1.999828 to 1.999829.
102 L<NEXT> has been upgraded from version 0.68 to 0.69.
106 L<POSIX> has been upgraded from version 2.02 to 2.03.
108 FLT_ROUNDS now emulates (more) standard behavior that reflects
109 the current rounding mode set by fesetround.
113 L<Win32> has been upgraded from version 0.57 to 0.58.
119 =head2 Changes to Existing Documentation
121 We have attempted to update the documentation to reflect the changes
122 listed in this document. If you find any we have missed, open an issue
123 at L<https://github.com/Perl/perl5/issues>.
125 Additionally, the following selected changes have been made:
133 B<-?> is now a synonym for B<-h>
139 Tests were added and changed to reflect the other additions and changes
142 Tests were added and changed to reflect the other additions and
143 changes in this release. Furthermore, these significant changes were
150 ExtUtils-ParseXS test suite improvement
154 Hash::Util::FieldHash test suite improvement
158 Pod::Html test suite improvement
162 Tie::SubstrHash test suite improvement
166 Time-HiRes test suite improvement
170 Fix several test failures on CygWin and MSWin32.
174 =head1 Platform Support
176 =head2 Platform-Specific Notes
186 Update z/OS (previously called OS/390) README to describe ASCII and EBCDIC builds
187 z/OS ASCII Enablement: Manage untagged header errno.h by copy & tag
201 Support for compiling perl on Windows using Microsoft Visual Studio 2022
202 (containing Visual C++ 14.3) has been added.
208 =head1 Internal Changes
214 Add missing aliases for \p{Present_In}
218 Change C<pack> U behavior for EBCDIC
222 sv_upgrade: use c99 compound literals to initialize xpvav/xpvhv
226 =head1 Acknowledgements
228 Perl 5.35.8 represents approximately 4 weeks of development since Perl
229 5.35.7 and contains approximately 29,000 lines of changes across 190 files
232 Excluding auto-generated files, documentation and release tools, there were
233 approximately 23,000 lines of changes to 120 .pm, .t, .c and .h files.
235 Perl continues to flourish into its fourth decade thanks to a vibrant
236 community of users and developers. The following people are known to have
237 contributed the improvements that became Perl 5.35.8:
239 Chris 'BinGOs' Williams, Craig A. Berry, David Mitchell, E. Choroba,
240 François Perrad, Graham Knop, Ivan Panchenko, James E Keenan, Karl
241 Williamson, Michiel Beijen, Mike Fulton, Neil Bowers, Nicholas Clark,
242 Nicolas R., Paul Evans, Richard Leach, Sawyer X, TAKAI Kousuke, Tomasz
245 The list above is almost certainly incomplete as it is automatically
246 generated from version control history. In particular, it does not include
247 the names of the (very much appreciated) contributors who reported issues to
248 the Perl bug tracker.
250 Many of the changes included in this version originated in the CPAN modules
251 included in Perl's core. We're grateful to the entire CPAN community for
252 helping Perl to flourish.
254 For a more complete list of all of Perl's historical contributors, please
255 see the F<AUTHORS> file in the Perl source distribution.
257 =head1 Reporting Bugs
259 If you find what you think is a bug, you might check the perl bug database
260 at L<https://github.com/Perl/perl5/issues>. There may also be information at
261 L<http://www.perl.org/>, the Perl Home Page.
263 If you believe you have an unreported bug, please open an issue at
264 L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
265 tiny but sufficient test case.
267 If the bug you are reporting has security implications which make it
268 inappropriate to send to a public issue tracker, then see
269 L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
270 for details of how to report the issue.
274 If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
275 you can do so by running the C<perlthanks> program:
279 This will send an email to the Perl 5 Porters list with your show of thanks.
283 The F<Changes> file for an explanation of how to view exhaustive details on
286 The F<INSTALL> file for how to build Perl.
288 The F<README> file for general stuff.
290 The F<Artistic> and F<Copying> files for copyright information.