| Version | Release date | Links | Changes | 
| 5.42.0 | July 3, 2025 | Full release notes | New :writerattribute on field variablesLexical method declaration using my methodand invocation using operator->&New anyandalloperatorsNew pragma source::encodingAssigning logical xor ^^=operatorMore CORE:: subsSwitch and Smart Match operator kept, behind a featureApostrophe as a global name separator can be disabledSupport Unicode 16.0Security fixes and performance enhancements
 | 
| 5.40.2 | April 13, 2025 | Full release notes |  | 
| 5.40.0 | June 9, 2024 | Full release notes | New __CLASS__keywordAdded the :readerattribute for field variablesAdded builtin infandnanfunctions (experimental)New logical ^^xor medium-precedence operatorThe try/catchfeature is no longer experimentalSecurity fixes
 | 
| 5.38.4 | April 13, 2025 | Full release notes |  | 
| 5.38.2 | November 29, 2023 | Full release notes | Security fixesNote: 5.38.1 was withdrawn due to a broken release
 | 
| 5.38.0 | July 3, 2023 | Full release notes | New class featureUnicode 15Deprecation warnings now have specific subcategoriesAPI hooksAbility to set a consistent random seedDefined-or and logical-or assignment default expressions in subroutine signaturesRegex quantifiers limit increased to I32_MAXUse of single-quote as a package separator deprecatedPerformance enhancementsFlow-control improvements to deferandfinallyblocksThe Switch and Smart Match added in v5.10 are deprecated
 | 
| 5.36.3 | November 29, 2023 | Full release notes | Security fixesNote: 5.36.2 was withdrawn due to a broken release
 | 
| 5.36.1 | April 23, 2023 | Full release notes |  | 
| 5.36.0 | May 28, 2022 | Full release notes | isaoperator no longer considered experimentalUnicode 14Regex sets no longer considered experimentalVariable length lookbehind in regexes no longer considered experimentalBoolean trackingNew builtin functionsSubroutine signatures no longer considered experimentalAdded `defer` blocksExperimental try/catchwithfinallyblocksExperimental n-at-a-time foriterators
 | 
| 5.34.3 | November 29, 2023 | Full release notes | Security fixesNote: 5.34.2 was withdrawn due to a broken release
 | 
| 5.34.1 | March 13, 2022 | Full release notes |  | 
| 5.34.0 | May 20, 2021 | Full release notes | Experimental try/catchsyntaxEmpty lower bound in regular expression quantifiers (qr/{,n}/)New octal syntax with 0oprefixes (e.g.,0o123_456)
 | 
| 5.32.1 | January 23, 2021 | Full release notes | New documentation perlgov and perlsecpolicy
 | 
| 5.32.0 | June 20, 2020 | Full release notes | Experimental isaoperatorChained comparisons (e.g. 1 <= $x <= 10)Unicode 13.0 is supportedNumeric variables cannot be prefixed with 0.
 | 
| 5.30.3 | June 1, 2020 | Full release notes |  | 
| 5.30.2 | March 14, 2020 | Full release notes | Bug fixes and module updates
 | 
| 5.30.1 | November 10, 2019 | Full release notes | Bug fixes and module updates
 | 
| 5.30.0 | May 22, 2019 | Full release notes | Unicode 12.1 supportVariable length lookbehind in regular expression patterns
 | 
| 5.28.0 | June 22, 2018 | Full release notes | Unicode 10.0 is supporteddelete on key/value hash slicesalphabetic synonyms for some regular expression assertions (experimental)Mixed Unicode scripts are now detectableIn-place editing with perl -i is now saferInitialisation of aggregate state variablesFull-size inode numbersThe sprintf%jformat size modifier is now available with pre-C99 compilersClose-on-exec flag set atomicallyString- and number-specific bitwise ops are no longer experimentalLocales are now thread-safe on systems that support themNew read-only predefined variable ${^SAFE_LOCALES}Security fixesSubroutine attribute and signature order was flipped to the original order from v5.20The sort algorithm can no longer be changed. The sortpragma is a no-op.
 | 
| 5.26.0 | May 30, 2017 | Full release notes | For security reasons, the current directory (".") is no longer included by default at the end of the module search path (@INC)Lexical subroutines are no longer experimentalIndented Here-documentsNew regular expression modifiers and capture groupsUnicode 9.0 is now supportedPerl can now do default collation in UTF-8 locales on platforms that support it
 | 
| 5.24.0 | May 8, 2016 | Full release notes | Unicode 8.0 is now supported.New line break boundary in regular expressionsExtended Bracketed Character Classes work in UTF-8 localesMore explicit definitions for integer shiftingReordered precision arguments for printf and sprintfMore fields provided to sigaction callbackThe experimental autoderef feature was removed.Postfix dereferencing is no longer experimental.
 | 
| 5.22.0 | June 1, 2015 | Full release notes | Unicode 7.0 is now supported.The historical modules CGI.pm and Module::Build were removed from the core distribution.The double diamond operatorDisambiguated bitwise operators (as an experimental feature)Variable aliasing (as an experimental feature)Subroutine attribute and signature order was flipped, but this was flipped back in v5.28
 | 
| 5.20.0 | May 27, 2014 | Full release notes | Subroutine signatures (as an experimental feature)Postfix dereferencing (as an experimental feature)Key/value slice syntax
 | 
| 5.18.0 | May 18, 2013 | Full release notes | regular expression character set operations (as an experimental feature)lexical subroutines (as an experimental feature)
 | 
| 5.16.0 | May 20, 2012 | Full release notes | __SUB__for currently-executing subroutineencoding-disambiguated evalfccase-folding function
 | 
| 5.14.0 | May 14, 2011 | Full release notes | Unicode 6.0 is supportedUnicode semantics applied to all stringsNon-destructive substitution (s///r)Added /d, /l, /u and /a regular expression modifiersRe-entrant regular expressionsAutomatic dereference (autoderef) by built-ins (experimental feature, removed in v5.24)
 | 
| 5.12.0 | April 12, 2010 | Full release notes | Unicode 5.2 is supportedNew package NAME VERSIONsyntaxThe ...operator addedImplicit strictures with use 5.12.0(or later version)Year 2038 compliance
 | 
| 5.10.1 | August 23, 2009[1] | Full release notes | Incompatible changes to the range operators and defined-or in boolean context, which affects the new switchfeatureIncompatible changes to the smart match operatorUnicode 5.1.0 is supportedA new interface for pluggable Method Resolution OrdersA new overloadingpragmaParallel testsDTrace supportBug fixes and module updatessetuidperldeprecated
 | 
| 5.10.0 | December 18, 2007[1] | Full release notes | Unicode 5.0 is supportedNew featurepragmaNew defined-or operator (//)New switchfeature and related smart match operator[clarification needed] (~~)Numerous new regular expression featuresNew saybuilt-in (via featuresay)Ability to declare static variables with state
 | 
| 5.8.1 | September 25, 2003[1] | Perl 5.8.1 Release Notes | Improved randomization of hash order, for security reasons.Unicode is not enabled by default based on locale settings.Version strings on the left of a fat comma are treated as string literals.Unsafe signals were re-added.Improved tied arrays with negative indexesSupports Unicode 4.0.0Pseudo-hashes are deprecatedOld-style threads are deprecated.Various module upgrades.The `strict` pragma checks parameters.Documentation improvements.Bug fixes.
 | 
| 5.8.0 | July 18, 2002[1] | Perl 5.8.0 Release Announcement | Supports Unicode 3.2.0Regular expressions now work with UnicodeSupport for non-Latin encodings via Encode moduleIntroduction of interpreter threadsNew PerlIO implementationScalars can be used as file handlesImproved numeric accuracy for string-number conversion via built-in routineFinalized 64-bit supportNew sortpragma to change the sort algorithm. (This was disabled in v5.28.)New modules: Digest::MD5, File::Temp, Filter::Simple, libnet, List::Util, Memoize, MIME::Base64, Scalar::Util, Storable, Switch, Test::More, Test::Simple, Text::Balanced, Tie::File, etc.Incompatibilities:
 Perl 5.8 is not binary compatible with any earlier Perl release64-bit versions no longer use Perl malloc.hash order changeddump() command becomes obsolete.5.005 threads are deprecated.user-visible implementation of pseudohashes is deprecated and scheduled for removalUse of tainted data in exec LIST and system LIST issues warning, and will become fatal error in a future releaseFor tr///C, tr///U, pack("C0", ...) and pack("U0", ...) can be used instead
 | 
| 5.6.0 | March 22, 2000[1] | Perl v5.6.0 released | Version numbering changed to 'revision.version.subversion' formatInternal representation for strings is changed to UTF-8, with EBCDIC support discontinued.Better support for interpreter concurrency.String literals can be written using character ordinals.New syntax for subroutine attributes. (The attrs pragma is now deprecated.)Support for large files, where available.Support for binary numbers.JPL ("Java Perl Lingo") distribution comes bundled with Perl.Much new documentation in the form of tutorials and reference information has been added.Experimental features:
 Support for UnicodeSupport for threading, and the fork() emulation on Windows.64-bit support.Lvalue subroutines.Weak references.Pseudo-hash data type.
 | 
| 5.005 | July 22, 1998[1] | 5.005 released (with maintenance update 01) | 5.005 is not binary compatible with previous releases.Source code now in ANSI C.New supported platforms include BeOS, DOS, MPE/ix.EXPR foreach EXPR syntax is supported.Experimental features:
 C++ Perl Object abstraction supported on Win32.Precompiled regular expressions.Enhanced 64-bit support.Reliable signals, when threading is enabled.Extended support for exception handling.EGCS/GCC compilers are now supported on Win32.
 | 
| 5.004 | May 15, 1997 | perl5004delta - what's new for perl5.004 |  | 
| 5.003_1 | July 31, 1996 | Full release notes |  | 
| 5.003 | June 25, 1996 | Full release notes |  | 
| 5.002_1 | March 25, 1996 | Full release notes | EMBED namespace changes are now used by defaultFixed several bugs in the coreAdded two new magic variables: $^E and $^OA mechanism was added to allow listing of locally applied patches in the perl -voutputMiscellaneous minor corrections and updates were made to the documentationExtensive updates made to the OS/2 and VMS portsOther miscellaneous changes and bug fixes
 | 
| 5.002 | February 29, 1996 | Full release notes | Added a new feature: PrototypesExtensive upgrades to nearly all of Perl's modulesMassive changes to both the configure and build systemsBug fixes
 | 
| 5.001 | March 13, 1995 | Full release notes | Added two new hooks: $SIG{__WARN__} and $SIG{__DIE__}Added closuresNow counts imported routines as "defined" for redef warningsBug fixes
 | 
| 5.000 | October 17, 1994 | Full release notes |  | 
| 4.000 | March 21, 1991 |  |  | 
| 3.000 | October 18, 1989 |  |  | 
| 2.000 | June 5, 1988 |  |  | 
| 1.000 | December 18, 1987 |  |  |