PERL582DELTA(1)

โœจ NAME โœจ

perl582delta โ€” bestie, this is literally what is new for perl v5.8.2 ๐Ÿ’…


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

Okay so this doc spills the tea on the differences between the 5.8.1 release and the 5.8.2 release. Periodt.

And if you're upgrading from something even older, like 5.6.1? Not me letting you rawdog the changelog ๐Ÿ˜ญ โ€” go read perl58delta first (that one covers the 5.6.0 โ†’ 5.8.0 glow-up) and then perl581delta (that one's the 5.8.0 โ†’ 5.8.1 era). Do it in order, iykyk.


๐Ÿ’€ Incompatible Changes ๐Ÿ’€

Okay so for threaded builds, when modules call certain re-entrant system calls, binary compatibility was accidentally lost between 5.8.0 and 5.8.1. Oops. ๐Ÿ™ˆ Binary compatibility with 5.8.0 has been restored in 5.8.2 โ€” but the way that works out, it necessitates breaking compatibility with 5.8.1. And honestly? They see this as the lesser of two evils. Not up for debate. ๐Ÿ’…

This only affects you if you have a threaded perl 5.8.1, and you compiled modules that use these calls, and now you're trying to run those compiled modules with 5.8.2. The fix is giving main character energy and it's simple: re-compile and re-install the modules using 5.8.2. That's it. That's the whole thing.

๐Ÿ”ฅ Core Enhancements ๐Ÿ”ฅ

๐ŸŒธ Hash Randomisation ๐ŸŒธ

The hash randomisation that got introduced back with 5.8.1? It's been amended, bestie. Turns out that even though the 5.8.1 implementation was source compatible with 5.8.0, it was not binary compatible in certain cases. Rude. ๐Ÿ˜ญ

5.8.2 contains an improved implementation which is both source and binary compatible with both 5.8.0 and 5.8.1, and it remains robust against the form of attack that prompted the change back in 5.8.1. So like, slay but safe.

We are grateful to the Debian project for their input in this area ๐Ÿซถ โ€” and if you want the original rationale behind this whole change, go look at "Algorithmic Complexity Attacks" in perlsec.

๐Ÿงš Threading ๐Ÿงš

Several memory leaks associated with variables shared between threads have been fixed. Leaks? Gone. We love to see it. โœจ


๐ŸŽ€ Modules and Pragmata ๐ŸŽ€

โญ Updated Modules And Pragmata โญ

The following modules and pragmata have been updated since Perl 5.8.1:

  • Devel::PPPort
  • Digest::MD5
  • I18N::LangTags
  • libnet
  • MIME::Base64
  • Pod::Perldoc
  • strict
    • Documentation improved
  • Tie::Hash
    • Documentation improved
  • Time::HiRes
  • Unicode::Collate
  • Unicode::Normalize
  • UNIVERSAL
    • Documentation improved

๐Ÿ› Selected Bug Fixes ๐Ÿ›

Some syntax errors involving unrecognized filetest operators are now handled correctly by the parser. Little parser glow-up, we love her. ๐Ÿ’–


๐Ÿซถ Changed Internals ๐Ÿซถ

Interpreter initialization is more complete when -DMULTIPLICITY is off. This should resolve problems with initializing and destroying the Perl interpreter more than once in a single process. (Doing it more than once? In this economy? Fixed. ๐Ÿ’…)


๐ŸŒˆ Platform Specific Problems ๐ŸŒˆ

  • Dynamic linker flags have been tweaked for Solaris and OS X, which should solve problems seen while building some XS modules.
  • Bugs in OS/2 sockets and tmpfile have been fixed.
  • In OS X, setreuid and friends are troublesome โ€” perl will now work around their problems as best possible. ๐Ÿ˜ค (not them being messy but we cope)

๐Ÿ‘‘ Future Directions ๐Ÿ‘‘

Starting with 5.8.3, the plan is to make more frequent maintenance releases, with a smaller number of changes in each. The intent is to propagate bug fixes out to stable releases more rapidly and make upgrading stable releases less of an upheaval. This should give end users more flexibility in their choice of upgrade timing, and allow them easier assessment of the impact of upgrades. Big brain move, fr fr. ๐Ÿง โœจ

The current plan is for code freezes as follows:

  1. 5.8.3 โ€” 23:59:59 GMT, Wednesday December 31st 2003
  2. 5.8.4 โ€” 23:59:59 GMT, Wednesday March 31st 2004
  3. 5.8.5 โ€” 23:59:59 GMT, Wednesday June 30th 2004

...with the release following soon after, when testing is complete.

See "Future Directions" in perl581delta for more soothsaying. ๐Ÿ”ฎ


๐Ÿ’œ 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://bugs.perl.org/. There may also be information at http://www.perl.com/, the Perl Home Page. (Scream into the void, but like, the documented void. ๐Ÿซถ)

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 โ€” like, tiny. Bestie-sized. ๐ŸŽ€ 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. You can browse and search the Perl 5 bugs at http://bugs.perl.org/.

Pro tip from your girl: trim that test case down. A 3000-line repro is not the vibe check. ๐Ÿ’…

๐ŸŒŸ SEE ALSO ๐ŸŒŸ

  • The Changes file for 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're officially caught up on 5.8.2 ๐Ÿ’–

This was the Perl Programmers Reference Guide, perl version v5.42.3, dated 2026-08-03. Go forth and recompile your modules. Mwah. ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from