Skip to main content

Perl 5.44.0

Release Date: July 15, 2026

Perl 5.44.0 just dropped. First new stable major since 5.42.0. Big one. Let's rap it up.

Signature Switch-up 📝

  • Named Parameters in Signatures — callers pass arguments by name/value pairs instead of position (sub f ($x, :$alpha = undef)). Spec: PPC0024. Experimental for now.
  • Aliased multi-var foreach — reference aliasing (5.22) and multi-variable loops (5.36) finally work together. foreach my ($key, \@items) (%hash).
  • Faster signatures — runtime signature processing is more efficient.

Security Slam 🔒

  • CVE-2026-8376 — buffer overflow in Perl_study_chunk; size checked in characters, not bytes. OOB writes on 32-bit builds.
  • CVE-2026-57432pack/unpack integer overflow on oversized structure sizes. Buffer overflow territory.
  • CVE-2026-13221 — regex trie 16-bit field overflow with alternations over ~65k branches. False positives and negatives.
  • Archive::Tar 3.04 → 3.12 — fixes CVE-2026-9538, CVE-2026-42496, CVE-2026-42497.

Unicode Uplift 🌍

Unicode 17.0 is fully supported. Identifier and regex group names now strictly enforce the XID_Start/XID_Continue rules — that's the one breaking change, so check exotic identifiers before upgrading.

Regex Refresh ✨

The experimental /xx modifier gets an upgrade: bracketed character classes can span multiple lines, hold comments, and warn about accidental comment swallowing. Opt in via use feature "enhanced_xx".

Entropy Everywhere 🎲

PRNG seeding now prefers the getentropy() syscall (Linux, BSD, macOS) over raw /dev/urandom reads, with a state-hash fallback. Better randomness, fewer file descriptors.

Performance Push ⚡

  • Faster integer +, -, * when the C compiler cooperates.
  • Faster hash population from compile-time constant string keys.
  • More efficient signature processing at subroutine entry.

Parting Shots 👋

Deprecated: jumping into a loop or block body via goto is finally dead, and unescaped # or literal vertical space in /xx character classes now warn. Modules updated across the board — B, B::Concise, B::Deparse, charnames, Compress::Raw::Bzip2 and more.

Upgrade at your own pace, but don't delay. The security list is real and the features are worth it.

What is New?

By continuing to use the site, you agree to the use of cookies.