From Wikipedia, the free encyclopedia
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 are not shown in this chart. Additional information can be found on the official Perl website .
Version history
Version
Release date
Links
Changes
5.32.0
June 20, 2020
Full release notes
isa
operator
chained comparisons (e.g. 1 <= $x <= 10
)
Unicode 13.0 is supported
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
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
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)
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
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)
Re-entrant regular expressions
Automagical dereference by built-ins (later removed)
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.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
)
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
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
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
References