PERL5143DELTA(1)

๐Ÿ’– NAME ๐Ÿ’–

perl5143delta โ€” the tea on what's new for perl v5.14.3, bestie ๐Ÿซถ


โœจ DESCRIPTION โœจ

Okay so this doc spills all the differences between the 5.14.2 release and the 5.14.3 release. That's it, that's the whole plot. ๐Ÿ’…

Heads up tho: if you're upgrading from something way older like 5.12.0, you're gonna wanna read perl5140delta <em>first</em>, because that one covers the glow-up from 5.12.0 to 5.14.0. Don't skip it, it's giving prerequisite energy. ๐Ÿ“š


๐ŸŒธ Core Enhancements ๐ŸŒธ

Literally no changes since 5.14.0. Iconic behaviour, honestly. Nothing to report. ๐Ÿ’€


๐Ÿ”ฅ Security ๐Ÿ”ฅ

๐Ÿšจ Digest unsafe use of eval (CVE-2011-3597) ๐Ÿšจ

So the Digest->new() function was not properly sanitizing its input before using it in an eval() call, which lowkey means someone could inject arbitrary Perl code up in there. ๐Ÿ˜ญ

BUT โ€” and this is the important part โ€” to actually exploit this flaw, the attacker would need to already be able to set the algorithm name being used, <em>or</em> already be able to execute arbitrary Perl code in the first place. So like, it's bad, but it's not free-real-estate bad. ๐Ÿ™ˆ

This problem has been fixed. Slay. โœจ

๐Ÿšจ Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195) ๐Ÿšจ

Okay so here's the thing: poorly written perl code that lets an attacker specify the count to perl's 'x' string repeat operator can <em>already</em> cause a memory exhaustion denial-of-service attack. That part was known. But a flaw in versions of perl before 5.15.5 can escalate that into a heap buffer overrun ๐Ÿ˜ณ โ€” and coupled with versions of glibc before 2.16, it possibly allows the execution of arbitrary code. Not the vibe. Absolutely not the vibe. ๐Ÿ’€

This problem has been fixed. Periodt. ๐Ÿ‘‘


๐Ÿฆ‹ Incompatible Changes ๐Ÿฆ‹

There are no changes intentionally incompatible with 5.14.0. And if any do exist? They're bugs, bestie, and reports are welcome! Don't be shy. ๐Ÿซถ


๐ŸŽ€ Deprecations ๐ŸŽ€

There have been no deprecations since 5.14.0. Clean. Fresh. No baggage. โœจ


๐Ÿ’œ Modules and Pragmata ๐Ÿ’œ

๐Ÿ†• New Modules and Pragmata

None. ๐ŸŒธ

โฌ†๏ธ Updated Modules and Pragmata

  • PerlIO::scalar got updated to fix a bug where opening a filehandle to a glob copy caused assertion failures (when you're running under debugging) or hangs or other erratic behaviour when you're not debugging. Messy either way, glad it's handled. ๐Ÿ’…
  • ODBM_File and NDBM_File were updated to allow building on GNU/Hurd. We love to see it. ๐Ÿซถ
  • IPC::Open3 has been updated to fix a regression that got introduced back in perl 5.12, which broke IPC::Open3::open3($in, $out, $err, '-'). [perl #95748] ๐Ÿ˜ค
  • Digest has been upgraded from version 1.16 to 1.16_01. Go peek at "Security" above, iykyk. ๐Ÿ‘€
  • Module::CoreList has been updated to version 2.49_04 to add data for this release. Data girlies rise. ๐Ÿ“Š

๐Ÿ—‘๏ธ Removed Modules and Pragmata

None. ๐ŸŒˆ


๐Ÿ“– Documentation ๐Ÿ“–

๐Ÿ†• New Documentation

None. โœจ

โœ๏ธ Changes to Existing Documentation

perlcheat

  • perlcheat was updated to 5.14. Short and sweet, love that for us. ๐Ÿ“

โš™๏ธ Configuration and Compilation โš™๏ธ

  • h2ph was updated to search correctly gcc include directories on platforms such as Debian with multi-architecture support. ๐Ÿงš
  • In Configure, the test for procselfexe was refactored into a loop. Look at it go. ๐Ÿ”

๐ŸŒ Platform Support ๐ŸŒ

๐Ÿ†• New Platforms

None. ๐Ÿ’œ

๐Ÿšซ Discontinued Platforms

None. ๐Ÿ’œ

๐Ÿ“ Platform-Specific Notes

FreeBSD

The FreeBSD hints file was corrected to be compatible with FreeBSD 10.0. ๐Ÿฆ‹

Solaris and NetBSD

Configure was updated for procselfexe support on Solaris and NetBSD. ๐Ÿ’ซ

HP-UX

README.hpux was updated to note the existence of a broken header in HP-UX 11.00. Rude of that header, honestly. ๐Ÿ˜ญ

Linux

libutil is no longer used when compiling on Linux platforms, which avoids warnings being emitted. Silence is golden. ๐Ÿคซ

The system gcc (rather than any other gcc which might be hanging out in the compiling user's path) is now used when searching for libraries such as -lm. Respect the system gcc. ๐Ÿ‘‘

Mac OS X

The locale tests were updated to reflect the behaviour of locales in Mountain Lion. ๐Ÿ”๏ธ

GNU/Hurd

Various build and test fixes were included for GNU/Hurd. ๐Ÿ› ๏ธ

LFS support was enabled in GNU/Hurd. โœจ

NetBSD

The NetBSD hints file was corrected to be compatible with NetBSD 6.*. ๐Ÿฆ‹


๐Ÿ› Bug Fixes ๐Ÿ›

  • A regression has been fixed that was introduced in 5.14, in /i regular expression matching, where a match improperly fails if the pattern is in UTF-8, the target string is not, and a Latin-1 character precedes a character in the string that should match the pattern. [perl #101710] ๐Ÿ˜ตโ€๐Ÿ’ซ
  • In case-insensitive regular expression pattern matching, no longer on UTF-8 encoded strings does the scan for the start of match only look at the first possible position. This caused matches such as ""f\x{FB00}" =~ /ff/i" to fail. Fixed! ๐ŸŽ‰
  • The sitecustomize support was made relocatableinc aware, so that -Dusesitecustomize and -Duserelocatableinc may be used together. Besties reunited fr fr. ๐Ÿซถ
  • The smartmatch operator (~~) was changed so that the right-hand side takes precedence during Any ~~ Object operations. Main character energy, right-hand side. ๐Ÿ‘‘
  • A bug has been fixed in the tainting support, in which an index() operation on a tainted constant would cause all other constants to become tainted. [perl #64804] The contamination has been contained. ๐Ÿงผ
  • A regression has been fixed that was introduced in perl 5.12, whereby tainting errors were not correctly propagated through die(). [perl #111654] ๐Ÿ˜ฎโ€๐Ÿ’จ
  • A regression has been fixed that was introduced in perl 5.14, in which /[[:lower:]]/i and /[[:upper:]]/i no longer matched the opposite case. [perl #101970] Case closed, literally. ๐Ÿ”

๐Ÿ’– Acknowledgements ๐Ÿ’–

Perl 5.14.3 represents approximately 12 months of development since Perl 5.14.2 and contains approximately 2,300 lines of changes across 64 files from 22 authors. The numbers are numbering. ๐Ÿ“ˆ

Perl continues to flourish into its third decade thanks to a vibrant community of users and developers. And the following people are known to have contributed the improvements that became Perl 5.14.3:

Abigail, Andy Dougherty, Carl Hayter, Chris 'BinGOs' Williams, Dave Rolsky, David Mitchell, Dominic Hargreaves, Father Chrysostomos, Florian Ragwitz, H.Merijn Brand, Jilles Tjoelker, Karl Williamson, Leon Timmermans, Michael G Schwern, Nicholas Clark, Niko Tyni, Pino Toscano, Ricardo Signes, Salvador Fandiรฑo, Samuel Thibault, Steve Hay, Tony Cook. ๐Ÿ‘‘๐Ÿ’–

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. We see you, we appreciate you. ๐Ÿซถ

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. CPAN girlies, this one's for you. ๐ŸŒธ

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 articles recently posted to the comp.lang.perl.misc newsgroup and the perl bug database at http://rt.perl.org/perlbug/ . There may also be information at http://www.perl.org/ , the Perl Home Page. Do your research first bestie, it's giving due diligence. ๐Ÿ”Ž

If you believe you have an unreported bug, please run the perlbug program included with your release. Be sure to trim your bug down to a tiny but sufficient test case โ€” minimal repro or it didn't happen. ๐Ÿ’… Your bug report, along with the output of perl -V, will be sent off to perlbug@perl.org to be analysed by the Perl porting team.

๐Ÿšจ If the bug you are reporting has security implications, which make it inappropriate to send to a publicly archived mailing list, then please send it to perl5-security-report@perl.org. This points to a closed subscription unarchived mailing list, which includes all the core committers, who be able to help assess the impact of issues, figure out a resolution, and help co-ordinate the release of patches to mitigate or fix the problem across all platforms on which Perl is supported. Please only use this address for security issues in the Perl core, not for modules independently distributed on CPAN. Don't be putting your CPAN module drama in the core security inbox, pls and thank you. ๐Ÿ™

๐Ÿ‘€ 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. โš–๏ธ

Okay that's the whole page bestie, you made it to the end, you ate and left no crumbs. ๐Ÿ’… This was perl v5.42.3, dated 2026-08-03 โ€” the Perl Programmers Reference Guide, aka your fave manual, mwah. ๐Ÿซถโœจ๐Ÿ’–

๐Ÿ“ฆ where this page comes from