PERL5421DELTA(1perl)

πŸ“¦
version 5.44.0 Β· 2 versions
, in arch rolling

πŸ’– perl5421delta β€” what is new for perl v5.42.1 πŸ’–

okay bestie, gather round, because this is the tea on the jump from 5.42.0 to 5.42.1 and it is lowkey a glow-up. this is the page for the PERL5421DELTA manual, and yes it ate. 🫢


✨ DESCRIPTION ✨

so like, this doc is literally just the receipts: it describes the differences between the 5.42.0 release and the 5.42.1 release. that's it, that's the vibe.

but hold on β€” if you're coming from something older, like 5.40.0, you do NOT start here. go read perl5420delta first, because that one walks you through all the differences between 5.40.0 and 5.42.0. no skipping steps, bestie. πŸ¦‹


🚨 Incompatible Changes 🚨

good news era: there are no changes intentionally incompatible with Perl 5.42.0. none. zero. nada.

but if you do find one? that's not a feature, that's a bug, and they are formally requesting that you submit a report about it. see "Reporting Bugs" further down. πŸ‘€


πŸ“¦ Modules and Pragmata πŸ“¦

🌸 Updated Modules and Pragmata 🌸

  • Module::CoreList got upgraded from version 5.20250702 to 5.20260308. she's been working out. πŸ’…
  • POSIX got upgraded from version 2.23 to 2.23_01. tiny bump, still slay.

πŸ“š Documentation πŸ“š

✨ Changes to Existing Documentation ✨

they tried to update the docs to match everything listed in this document. attempted. gave it their best. but if you spot something they missed, please open an issue at <https://github.com/Perl/perl5/issues>. do it for the team. πŸ™ˆ


πŸ› οΈ Configuration and Compilation πŸ› οΈ

  • it is now possible to pass to Configure the values dealing with POSIX locale categories, overriding its automatic calculation of these. this makes cross-compilation actually work, which is huge. the easiest way to do it: extract the C program that does the calculation out of Configure, run it on the target machine, and then hand the values it spits out to Configure on the other machine. Porting/Glossary has examples. [GH #22992 <https://github.com/Perl/perl5/issues/22992>]

πŸ§ͺ Testing πŸ§ͺ

tests were added and changed to reflect all the other additions and changes in this release. keeping things honest. periodt. πŸ’―


🌈 Platform Support 🌈

πŸ“ Platform-Specific Notes πŸ“

  • AIX β€” Thread-safe locale handling has been turned off on all releases, due to apparent bugs in the underlying operating system support. [GH #23825 <https://github.com/Perl/perl5/issues/23825>]
  • Win32 β€” Fix builds with USE_IMP_SYS defined but USE_ITHREADS not defined.

πŸ”₯ Selected Bug Fixes πŸ”₯

  • use 5.42 now turns on use source::encoding "ascii" for the remainder of the line (besides subsequent lines). [GH #23881 <https://github.com/Perl/perl5/issues/23881>]
  • Perl 5.42.0 does not handle the transition to/from daylight savings time properly. the time and/or timezone can be off by an hour in the intervals surrounding such transitions. this is a regression from earlier releases, and it is now fixed. this bug was evident from perl space in the strftime in POSIX function, and in XS code with any of my_strftime in perlapi, sv_strftime_ints in perlapi, or sv_strftime_tm in perlapi. [GH #23878 <https://github.com/Perl/perl5/issues/23878>]
  • certain constructs involving a two-variable for loop would crash the perl compiler in Perl 5.42.0:
# Two-variable for loop over a list returned from a method call:
for my ($x, $y) (Some::Class->foo()) { ... }
for my ($x, $y) ($object->foo()) { ... }

and

# Two-variable for loop over a list returned from a call to a
# lexical(ly imported) subroutine, all inside a lexically scoped
# or anonymous subroutine:
my sub foo { ... }
my $fn = sub {
    for my ($x, $y) (foo()) { ... }
};

use builtin qw(indexed);  # lexical import!
my sub bar {
    for my ($x, $y) (indexed(...)) { ... }
}

these have been fixed. [GH #23405 <https://github.com/Perl/perl5/issues/23405>]

  • since Perl 5.32.0, the second branch of a ternary condition operator wasn't getting the correct autovivification context applied. for example in something like
@{ $cond ? $h{foo} : $h{bar} } = ...;

the first branch would correctly autovivify $h{foo} to an array ref, but the second branch might incorrectly autovivify $h{bar} to a hash ref. [GH #18669 <https://github.com/Perl/perl5/issues/18669>].


πŸ‘‘ Acknowledgements πŸ‘‘

Perl 5.42.1 represents approximately 8 months of development since Perl 5.42.0 and contains approximately 7,200 lines of changes across 55 files from 12 authors. okay that's not a small era, that's a whole saga. 😭

excluding auto-generated files, documentation and release tools, there were approximately 1,700 lines of changes to 16 .pm, .t, .c and .h files.

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.42.1:

David Mitchell, Eric Herman, Karen Etheridge, Karl Williamson, Lukas Mai, Max Maischein, Philippe Bruhat (BooK), Richard Leach, Steve Hay, Thibault Duponchelle, Tony Cook, Yitzchak Scott-Thoennes.

the list above is almost certainly incomplete because 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. give them flowers too. 🌸

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. πŸ’œ

for a more complete list of all of Perl's historical contributors, please see the AUTHORS file in the Perl source distribution.


πŸ› 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 <https://www.perl.org/>, the Perl Home Page.

if you believe you have an unreported bug, please open an issue at <https://github.com/Perl/perl5/issues>. and bestie, be sure to trim your bug down to a tiny but sufficient test case. nobody wants your whole codebase, they want the snack-sized repro. πŸŽ€

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. actual secret business. 🀫


🫢 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 perlthanks program:

perlthanks

this will send an email to the Perl 5 Porters list with your show of thanks. iconic behaviour, honestly.


πŸ¦‹ SEE ALSO πŸ¦‹

  • the Changes file for an explanation of how to view exhaustive details on what changed.
  • the INSTALL file for how to build Perl.
  • the README file for general stuff.
  • the Artistic and Copying files for copyright information.

and that's the whole page, bestie. πŸ’… this was perl v5.44.0, dated 2026-10-17, and it lives under the manual page name PERL5421DELTA(1perl). go forth and upgrade responsibly. πŸ’–βœ¨

πŸ“¦ where this page comes from
  • arch rolling: perl 5.44.0-1 Β· Artistic-1.0-Perl AND GPL-1.0-or-later
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms