| Version | Release date | Links | Changes |
| 5.42.0 | July 3, 2025 | |
- New
:writer attribute on field variables - Lexical method declaration using
my method and invocation using operator ->& - New
any and all operators - New pragma
source::encoding - Assigning logical xor
^^= operator - More CORE:: subs
- Switch and Smart Match operator kept, behind a feature
- Apostrophe as a global name separator can be disabled
- Support Unicode 16.0
- Security fixes and performance enhancements
|
| 5.40.3 | August 3, 2025 | | Security fixes |
| 5.40.2 | April 13, 2025 | | Security fixes |
| 5.40.0 | June 9, 2024 | | New __CLASS__ keyword Added the :reader attribute for field variables Added builtin inf and nan functions New logical ^^ xor medium-precedence operator The try/catch feature is no longer experimental Security fixes |
| 5.38.4 | April 13, 2025 | | Security fixes |
| 5.38.2 | November 29, 2023 | | Security fixes Note: 5.38.1 was withdrawn due to a broken release |
| 5.38.0 | July 3, 2023 | | New feature Unicode 15 Deprecation warnings now have specific subcategories API hooks Ability to set a consistent random seed Defined-or and logical-or assignment default expressions in subroutine signatures Regex quantifiers limit increased to I32_MAX Use of single-quote as a package separator deprecated Performance enhancements Flow-control improvements to defer and finally blocks The Switch and Smart Match added in v5.10 are deprecated |
| 5.36.3 | November 29, 2023 | | Security fixes Note: 5.36.2 was withdrawn due to a broken release |
| 5.36.1 | April 23, 2023 | | Bug fixes |
| 5.36.0 | May 28, 2022 | | isa operator no longer considered experimental Unicode 14 Regex sets no longer considered experimental Variable length lookbehind in regexes no longer considered experimental Boolean tracking New functions Subroutine signatures no longer considered experimental Added `defer` blocks Experimental try/catch with finally blocks Experimental n-at-a-time for iterators |
| 5.34.3 | November 29, 2023 | | Security fixes Note: 5.34.2 was withdrawn due to a broken release |
| 5.34.1 | March 13, 2022 | | Bug fixes |
| 5.34.0 | May 20, 2021 | | Experimental try/catch syntax Empty lower bound in regular expression quantifiers New octal syntax with 0o prefixes |
| 5.32.1 | January 23, 2021 | | New documentation perlgov and perlsecpolicy |
| 5.32.0 | June 20, 2020 | | Experimental isa operator Chained comparisons Unicode 13.0 is supported Numeric variables . |
| 5.30.3 | June 1, 2020 | | Security fixes |
| 5.30.2 | March 14, 2020 | | Bug fixes and module updates |
| 5.30.1 | November 10, 2019 | | Bug fixes and module updates |
| 5.30.0 | May 22, 2019 | | Unicode 12.1 support Variable length lookbehind in regular expression patterns |
| 5.28.0 | June 22, 2018 | | Unicode 10.0 is supported delete on key/value hash slices alphabetic synonyms for some regular expression assertions Mixed Unicode scripts are now detectable In-place editing with perl -i is now safer Initialisation of aggregate state variables Full-size inode numbers The sprintf %j format size modifier is now available with pre-C99 compilers Close-on-exec flag set atomically String- and number-specific bitwise ops are no longer experimental Locales are now thread-safe on systems that support them New read-only predefined variable $ Security fixes Subroutine attribute and signature order was flipped to the original order from v5.20 The sort algorithm can no longer be changed. The sort pragma is a no-op. |
| 5.26.0 | May 30, 2017 | | For security reasons, the current directory is no longer included by default at the end of the module search path Lexical subroutines are no longer experimental Indented Here-documents New regular expression modifiers and capture groups Unicode 9.0 is now supported Perl can now do default collation in UTF-8 locales on platforms that support it |
| 5.24.0 | May 8, 2016 | | Unicode 8.0 is now supported. New line break boundary in regular expressions Extended Bracketed Character Classes work in UTF-8 locales More explicit definitions for integer shifting Reordered precision arguments for printf and sprintf More fields provided to sigaction callback The experimental autoderef feature was removed. Postfix dereferencing is no longer experimental. |
| 5.22.0 | June 1, 2015 | | Unicode 7.0 is now supported. The historical modules CGI.pm and Module::Build were removed from the core distribution. The double diamond operator Disambiguated bitwise operators Variable aliasing Subroutine attribute and signature order was flipped, but this was flipped back in v5.28 |
| 5.20.0 | May 27, 2014 | | Subroutine signatures Postfix dereferencing Key/value slice syntax |
| 5.18.0 | May 18, 2013 | | regular expression character set operations lexical subroutines |
| 5.16.0 | May 20, 2012 | | __SUB__ for currently-executing subroutine encoding-disambiguated evalfc function |
| 5.14.0 | May 14, 2011 | | Unicode 6.0 is supported Unicode semantics applied to all strings Non-destructive substitution Added /d, /l, /u and /a regular expression modifiers Re-entrant regular expressions Automatic dereference by built-ins |
| 5.12.0 | April 12, 2010 | | Unicode 5.2 is supported New package NAME VERSION syntax The ... operator added Implicit strictures with use 5.12.0 Year 2038 compliance |
| 5.10.1 | August 23, 2009 | | Incompatible changes to the range operators and defined-or in boolean context, which affects the new switch feature Incompatible changes to the smart match operator Unicode 5.1.0 is supported A new interface for pluggable Method Resolution Orders A new overloading pragma Parallel tests DTrace support Bug fixes and module updatessetuidperl deprecated |
| 5.10.0 | December 18, 2007 | | Unicode 5.0 is supported New feature pragma New defined-or operator New switch feature and related smart match operator Numerous new regular expression features New say built-in Ability to declare static variables with state |
| 5.8.1 | September 25, 2003 | | 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 | | 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 sort pragma to change the sort algorithm. 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: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. Support for large files, where available.Support for binary numbers.JPL distribution comes bundled with Perl.Much new documentation in the form of tutorials and reference information has been added.Experimental features: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: |
| 5.003_1 | July 31, 1996 | | |
| 5.003 | June 25, 1996 | | Security fixes Bug fixes |
| 5.002_1 | March 25, 1996 | | EMBED namespace changes are now used by default Fixed several bugs in the core Added two new magic variables: $^E and $^O A mechanism was added to allow listing of locally applied patches in the perl -v output Miscellaneous minor corrections and updates were made to the documentation Extensive updates made to the OS/2 and VMS ports Other miscellaneous changes and bug fixes |
| 5.002 | February 29, 1996 | | Added a new feature: Prototypes Extensive upgrades to nearly all of Perl's modules Massive changes to both the configure and build systems Bug fixes |
| 5.001 | March 13, 1995 | | Added two new hooks: $SIG and $SIG Added closures Now counts imported routines as "defined" for redef warnings Bug fixes |
| 5.000 | October 17, 1994 | | Near complete rewrite of the interpreter Added Objects Added References Added lexical (my) variables Added modules which allow extending the language without modifying the interpreter |
| 4.000 | March 21, 1991 | | |
| 3.000 | October 18, 1989 | | |
| 2.000 | June 5, 1988 | | |
| 1.000 | December 18, 1987 | | |