Perl Source

Perl compiles on over 100 platforms, if you want to install from a binary instead see the ports page (especially for Windows).

How to install from source

     wget http://www.cpan.org/src/5.0/perl-5.20.0.tar.gz
     tar -xzf perl-5.20.0.tar.gz
     cd perl-5.20.0
     ./Configure -des -Dprefix=$HOME/localperl
     make
     make test
     make install

Read both INSTALL and README.yoursystem in the perl-5.20.0 directory for more detailed information.

Latest releases in each branch of Perl

Major Version Type Released Download
5.20 5.20.0 Maint 2014-05-27 perl-5.20.0.tar.gz
5.18 5.18.2 Maint 2014-01-07 perl-5.18.2.tar.gz
5.16 5.16.3 End of life 2013-03-11 perl-5.16.3.tar.gz
5.14 5.14.4 End of life 2013-03-10 perl-5.14.4.tar.gz
5.12 5.12.5 End of life 2012-11-10 perl-5.12.5.tar.gz
5.10 5.10.1 End of life 2009-08-23 perl-5.10.1.tar.gz
5.8 5.8.9 End of life 2008-12-14 perl-5.8.9.tar.gz
5.6 5.6.2 End of life 2003-11-15 perl-5.6.2.tar.gz
5.5 5.5.4 End of life 2004-02-23 perl5.005_04.tar.gz
5.4 5.4.5 End of life 1999-04-29 perl5.004_05.tar.gz
5.3 5.3.7 End of life 1996-10-10 perl5.003_07.tar.gz

Perl History

If you want to help out developing new releases of Perl visit the development site and join the perl5-porters mailing list.

Version scheme

Perl has used the following policy since the 5.6 release of Perl:

  • Maintenance branches (ready for production use) are even numbers (5.8, 5.10, 5.12 etc)
  • Sub-branches of maintenance releases (5.12.1, 5.12.2 etc) are mostly just for bug fixes
  • Development branches are odd numbers (5.9, 5.11, 5.13 etc)
  • RC (release candidates) leading up to a maintenance branch are called testing releases

Please note that branches earlier than 5.8 are no longer supported, though fixes for urgent issues, for example severe security problems, may still be issued.

Note: please avoid referring to the "symbolic" source releases like "stable" and "latest", or "maint" and "devel". They are still used here but only for backward compatibility. The symbolic names were found to cause more confusion than they are worth because they don't really work with multiple branches, especially not with multiple maintenance branches, and especially the "latest" makes absolutely no sense. The "latest" and "stable" are now just aliases for "maint", and "maint" in turn is the maintenance branch with the largest release number.

First release in each branch of Perl

Major Version Released
5.20 5.20.0 2014-05-27
5.18 5.18.0 2013-05-18
5.16 5.16.0 2012-05-20
5.14 5.14.0 2011-05-14
5.12 5.12.0 2010-04-12
5.10 5.10.0 2007-12-18
5.8 5.8.0 2002-07-18
5.6 5.6.0 2000-03-22
5.5 5.5.0 1998-07-22
5.4 5.4.0 1997-05-15
5.3 5.3.7 1996-10-10

Other files and directories (mostly for posterity)

  • 5.0/

    Source archives for all releases of perl5. You should only need to look here if you have an application which, for some reason or another, does not run with the current release of perl5. Be aware that only 5.004 and later versions of perl are maintained. If you report a genuine bug in such a version, you will probably be informed either that it is fixed in the current maintenance release, or will be fixed in a subsequent one. If you report a bug in an unmaintained version, you are likely to be advised to upgrade to a maintained version which fixes the bug, or to await a fix in a maintained version. No fix will be provided for the unmaintained version.

  • Perl 6 or Parrot are not yet in CPAN. In the meanwhile, try here or here.

  • 5.0/jperl

    Path to patch files needed to adapt particular perl releases for use with Japanese character sets.

  • ENDINGS

    Discussion of the meanings of the endings of filenames (.gz, .ZIP and so on). Read this file if you want to know how to handle a source code archive after you've downloaded it.

  • README

    This file.

  • misc/

    Third-party and other add-on source packages needed in order to build certain perl configurations. You do not need any of this stuff to build a default configuration.

  • perl-5.*.tar.gz, perl-5.*.tar.bz2, perl5_*.tar.gz

    Source code archives for several recent production releases of perl.

  • unsupported/

    This is where we hid the source for perl4, which was superseded by perl5 years ago. We would really much rather that you didn't use it. It is definitely obsolete and has security and other bugs. And, since it's unsupported, it will continue to have them.

  • 5.0/sperl-2000-08-05

    Files relevant to the security problem found in 'suidperl' in August 2000, reported in the bugtraq mailing list. The problem was found in all Perl release branches: 5.6, 5.005, and 5.004. The 5.6.1 release has a fix for this, as have the 5.8 releases. The (now obsolete) development branch 5.7 was unaffected, except for very early (pre-5.7.0) developer-only snapshots. The bug affects you only if you use an executable called 'suidperl', not if you use 'perl', and it is very likely only to affect UNIX platforms, and even more precisely, as of March 2001, the only platforms known to be affected are Linux platforms (all of them, as far as we know). The 'suidperl' is an optional component which is not installed, or even built, by default. These files will help you in the case you compile Perl yourself from the source and you want to close the security hole.

  • 5.0/CA-97.17.sperl
  • 5.0/fixsperl-0
  • 5.0/fixsuid5-0.pat

    Files relevant to the CERT Advisory CA-97.17.sperl, a security problem found in 'suidperl' back in 1997. The problem was found both in Perl 4.036 (the final) (and last) release of Perl 4 and in early versions of Perl 5 (pre-5.003). The bug affects you only if you use an executable called 'suidperl', not if you use 'perl', and it is very likely only to affect UNIX platform. The 'suidperl' is an optional component which is not installed, or even built, by default. These files will help you in the (very unlikely) case you need to use (the obsolete and unsupported) Perl 4 or the early Perl 5s, Perl releases newer than Perl 5.003 do not have this security problem.