fbpx
Wikipedia

Perl 5 version history

Perl is an open-source programming language whose first version, 1.0, was released in 1987. The following table contains the Perl 5 version history, showing its release versions. Not all versions are covered yet.

Note that additional minor release versions may not be shown in this chart, unless they include notable changes or are the latest supported version. Additional information can be found on the official Perl website.

Version history edit

Legend:   Current   Toolchain   Legacy

Release numbers use semantic versioning since 5.6, where even-numbered minor versions (e.g. 5.36) are stable releases, and odd numbers are experimental development versions. The patch number is usually omitted in discussions of Perl versions.

The Perl Maintenance and Support Policy is to "support the two most recent stable release series" although important security fixes may be applied to stable releases from the past three years.

Note that this is separate from the Perl Toolchain (utilities for developing, building and installing Perl modules) Support Policies, which will informally support older releases. The current policy is to support Perl v5.16 or earlier until July 2024, and then to support releases than have been available for at least ten years.

Version Release date Links Changes
5.38.2 November 29, 2023 Full release notes
  • Security fixes
  • Note: 5.38.1 was withdrawn due to a broken release
5.38.0 July 3, 2023 Full release notes
  • New class 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 Full release notes
  • Security fixes
  • Note: 5.36.2 was withdrawn due to a broken release
5.36.1 April 23, 2023 Full release notes
  • Bug fixes
5.36.0 May 28, 2022 Full release notes
  • 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 builtin 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 Full release notes
  • Security fixes
  • Note: 5.34.2 was withdrawn due to a broken release
5.34.1 March 13, 2022 Full release notes
  • Bug fixes
5.34.0 May 20, 2021 Full release notes
  • Experimental try/catch syntax
  • Empty lower bound in regular expression quantifiers (qr/{,n}/)
  • New octal syntax with 0o prefixes (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 isa operator
  • Chained comparisons (e.g. 1 <= $x <= 10)
  • Unicode 13.0 is supported
  • Numeric variables cannot be prefixed with 0.
5.30.3 June 1, 2020 Full release notes
  • Security fixes
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 support
  • Variable length lookbehind in regular expression patterns
5.28.0 June 22, 2018 Full release notes
  • Unicode 10.0 is supported
  • delete on key/value hash slices
  • alphabetic synonyms for some regular expression assertions (experimental)
  • 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 ${^SAFE_LOCALES}
  • Security fixes
  • Subroutine attribute and signature order was flipped to the original order from v5.20
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 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 Full release notes
  • 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 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 operator
  • Disambiguated 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 subroutine
  • encoding-disambiguated eval
  • fc case-folding function
5.14.0 May 14, 2011 Full release notes
  • Unicode 6.0 is supported
  • Unicode semantics applied to all strings
  • Non-destructive substitution (s///r)
  • Added /d, /l, /u and /a regular expression modifiers
  • Re-entrant regular expressions
  • Automatic dereference (autoderef) by built-ins (experimental feature, removed in v5.24)
5.12.0 April 12, 2010 Full release notes
  • Unicode 5.2 is supported
  • New package NAME VERSION syntax
  • The ... operator added
  • Implicit 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 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 updates
  • setuidperl deprecated
5.10.0 December 18, 2007[1] Full release notes
  • Unicode 5.0 is supported
  • New feature pragma
  • New defined-or operator (//)
  • New switch feature and related smart match operator[clarification needed] (~~)
  • Numerous new regular expression features
  • New say built-in (via feature say)
  • 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 indexes
  • Supports Unicode 4.0.0
  • Pseudo-hashes are deprecated
  • Old-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.0
  • Regular expressions now work with Unicode
  • Support for non-Latin encodings via Encode module
  • Introduction of interpreter threads
  • New PerlIO implementation
  • Scalars can be used as file handles
  • Improved numeric accuracy for string-number conversion via built-in routine
  • Finalized 64-bit support
  • 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 release
  • 64-bit versions no longer use Perl malloc.
  • hash order changed
  • dump() command becomes obsolete.
  • 5.005 threads are deprecated.
  • user-visible implementation of pseudohashes is deprecated and scheduled for removal
  • Use of tainted data in exec LIST and system LIST issues warning, and will become fatal error in a future release
  • For tr///C, tr///U, pack("C0", ...) and pack("U0", ...) can be used instead
5.6.0 March 22, 2000[1]
  • Version numbering changed to 'revision.version.subversion' format
  • Internal 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 Unicode
  • Support 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
  • Security fixes
  • Bug fixes
5.002_1 March 25, 1996 Full release notes
  • 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 Full release notes
  • 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 Full release notes
  • Added two new hooks: $SIG{__WARN__} and $SIG{__DIE__}
  • Added closures
  • Now counts imported routines as "defined" for redef warnings
  • Bug 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

References edit

  1. ^ a b c d e f perlhist

perl, version, history, perl, open, source, programming, language, whose, first, version, released, 1987, following, table, contains, showing, release, versions, versions, covered, note, that, additional, minor, release, versions, shown, this, chart, unless, t. Perl is an open source programming language whose first version 1 0 was released in 1987 The following table contains the Perl 5 version history showing its release versions Not all versions are covered yet Note that additional minor release versions may not be shown in this chart unless they include notable changes or are the latest supported version Additional information can be found on the official Perl website Version history editLegend Current Toolchain Legacy Release numbers use semantic versioning since 5 6 where even numbered minor versions e g 5 36 are stable releases and odd numbers are experimental development versions The patch number is usually omitted in discussions of Perl versions The Perl Maintenance and Support Policy is to support the two most recent stable release series although important security fixes may be applied to stable releases from the past three years Note that this is separate from the Perl Toolchain utilities for developing building and installing Perl modules Support Policies which will informally support older releases The current policy is to support Perl v5 16 or earlier until July 2024 and then to support releases than have been available for at least ten years Version Release date Links Changes 5 38 2 November 29 2023 Full release notes Security fixes Note 5 38 1 was withdrawn due to a broken release 5 38 0 July 3 2023 Full release notes New class 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 Full release notes Security fixes Note 5 36 2 was withdrawn due to a broken release 5 36 1 April 23 2023 Full release notes Bug fixes 5 36 0 May 28 2022 Full release notes 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 builtin 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 Full release notes Security fixes Note 5 34 2 was withdrawn due to a broken release 5 34 1 March 13 2022 Full release notes Bug fixes 5 34 0 May 20 2021 Full release notes Experimental try catch syntax Empty lower bound in regular expression quantifiers qr n New octal syntax with 0o prefixes 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 isa operator Chained comparisons e g 1 lt x lt 10 Unicode 13 0 is supported Numeric variables cannot be prefixed with 0 5 30 3 June 1 2020 Full release notes Security fixes 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 support Variable length lookbehind in regular expression patterns 5 28 0 June 22 2018 Full release notes Unicode 10 0 is supported delete on key value hash slices alphabetic synonyms for some regular expression assertions experimental 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 SAFE LOCALES Security fixes Subroutine attribute and signature order was flipped to the original order from v5 20 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 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 Full release notes 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 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 operator Disambiguated 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 subroutine encoding disambiguated eval fc case folding function 5 14 0 May 14 2011 Full release notes Unicode 6 0 is supported Unicode semantics applied to all strings Non destructive substitution s r Added d l u and a regular expression modifiers Re entrant regular expressions Automatic dereference autoderef by built ins experimental feature removed in v5 24 5 12 0 April 12 2010 Full release notes Unicode 5 2 is supported New package NAME VERSION syntax The operator added Implicit 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 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 updates setuidperl deprecated 5 10 0 December 18 2007 1 Full release notes Unicode 5 0 is supported New feature pragma New defined or operator New switch feature and related smart match operator clarification needed Numerous new regular expression features New say built in via feature say 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 indexes Supports Unicode 4 0 0 Pseudo hashes are deprecated Old 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 0 Regular expressions now work with Unicode Support for non Latin encodings via Encode module Introduction of interpreter threads New PerlIO implementation Scalars can be used as file handles Improved numeric accuracy for string number conversion via built in routine Finalized 64 bit support 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 release 64 bit versions no longer use Perl malloc hash order changed dump command becomes obsolete 5 005 threads are deprecated user visible implementation of pseudohashes is deprecated and scheduled for removal Use of tainted data in exec LIST and system LIST issues warning and will become fatal error in a future release For 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 format Internal 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 Unicode Support 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 Security fixes Bug fixes 5 002 1 March 25 1996 Full release notes 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 Full release notes 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 Full release notes Added two new hooks SIG WARN and SIG DIE Added closures Now counts imported routines as defined for redef warnings Bug fixes 5 000 October 17 1994 Full release notes 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 1987References edit a b c d e f perlhist Retrieved from https en wikipedia org w index php title Perl 5 version history amp oldid 1187499924, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.