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::PPPortDigest::MD5I18N::LangTagslibnetMIME::Base64Pod::Perldocstrict- Documentation improved
Tie::Hash- Documentation improved
Time::HiResUnicode::CollateUnicode::NormalizeUNIVERSAL- 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
tmpfilehave been fixed. - In OS X,
setreuidand 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:
- 5.8.3 โ 23:59:59 GMT, Wednesday December 31st 2003
- 5.8.4 โ 23:59:59 GMT, Wednesday March 31st 2004
- 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
Changesfile for exhaustive details on what changed. - The
INSTALLfile for how to build Perl. - The
READMEfile for general stuff. - The
ArtisticandCopyingfiles 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
- fedora 43: perl-doc 5.42.3-524.fc43 ยท (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Unicode-3.0 AND LicenseRef-Fedora-UltraPermissive
- fedora 44: perl-doc 5.42.3-525.fc44 ยท (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Unicode-3.0 AND LicenseRef-Fedora-UltraPermissive
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms