#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use App::perlbrew;
{
no warnings 'redefine';
my $html;
sub App::perlbrew::http_get {
return $html if $html;
local $/ = undef;
$html = <DATA>;
}
}
plan tests => 9;
my $app = App::perlbrew->new();
is scalar $app->available_perls(), 8, "Correct number of releases found";
my @known_perl_versions = (
'perl-5.13.11', 'perl-5.12.3', 'perl-5.10.1', 'perl-5.8.9',
'perl-5.6.2', 'perl5.005_04', 'perl5.004_05', 'perl5.003_07'
);
for my $perl_version ( $app->available_perls() ) {
ok grep( $_ eq $perl_version, @known_perl_versions ), "$perl_version found";
}
__DATA__
<!DOCTYPE html>
<html lang="en">
<head>
<title>Perl Source - www.cpan.org</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <link rel="author" href="mailto:cpan+linkrelauthor@perl.org" />
<link rel="canonical" href="http://www.cpan.org/src/index.html" />
<link type="text/css" rel="stylesheet" href="../misc/css/cpan.css" />
</head>
<body class="section_source">
<table id="wrapper" border="0" width="95%" cellspacing="0" cellpadding="2" align="center">
<tr>
<td id="header">
<div id="header_left">
<a href="../index.html"><img src="../misc/images/cpan.png" id="logo" alt="CPAN" /></a>
</div>
<div id="header_right">
<h1>Comprehensive Perl Archive Network</h1>
<p id="strapline">Stop reinventing wheels, start building space rockets
</p>
</div>
</td>
</tr>
<tr>
<td id="menubar_holder">
<ul class="menubar">
<li><a href="../index.html">Home</a></li>
<li><a href="../modules/index.html">Modules</a></li>
<li><a href="../ports/index.html">Ports</a></li>
<li><a href="../src/README.html">Perl Source</a></li>
<li><a href="../misc/cpan-faq.html">FAQ</a></li>
<li><a href="../SITES.html">Mirrors</a></li>
</ul>
<div id="searchbar">
<form method="get" action="http://search.cpan.org/search" name="f" class="searchbox menubar" id="f">
<input type="hidden" name="mode" value="all" />
<a href="http://search.cpan.org">Search</a>:
<input id="searchfield" type="text" name="query" value="" placeholder="Module name" />
<input type="submit" value="Search" />
</form>
</div>
</td>
</tr>
<tr>
<td>
<div id="content">
<h1>Perl Source</h1>
<p>
Perl <a href="http://en.wikipedia.org/wiki/Compiler">compiles</a> on over <a href=
"http://perldoc.perl.org/perlport.html#PLATFORMS">100 platforms</a>, if you
want to install from a binary instead see the <a href=
"../ports/index.html">ports</a> page (especially for Windows).
</p>
<h2>
How to install from source
</h2>
<pre>
wget <a href="http://www.cpan.org/src/perl-5.12.3.tar.gz">http://www.cpan.org/src/perl-5.12.3.tar.gz</a>
tar -xzf perl-5.12.3.tar.gz
cd perl-5.12.3
./Configure -des -Dprefix=$HOME/localperl
make
make test
make install
</pre>
<p>
Read both INSTALL and README.<strong>yoursystem</strong> in
the <code>perl-5.12.3</code> directory for more detailed information.
</p>
<h2>Latest releases in each branch of Perl</h2>
<table class="os_version">
<tr class="table_header">
<th>Major</th>
<th>Version</th>
<th>Type</th>
<th>Released</th>
<th>Download</th>
</tr>
<tr >
<td>5.13</td>
<td>5.13.11
<td>Devel</td>
<td>2011-03-20</td>
<td><a href="http://www.cpan.org/src/perl-5.13.11.tar.gz">perl-5.13.11.tar.gz</a></td>
</tr>
<tr class="latest">
<td>5.12</td>
<td>5.12.3
<td>Maint</td>
<td>2011-01-22</td>
<td><a href="http://www.cpan.org/src/perl-5.12.3.tar.gz">perl-5.12.3.tar.gz</a></td>
</tr>
<tr >
<td>5.10</td>
<td>5.10.1
<td>Maint</td>
<td>2009-08-23</td>
<td><a href="http://www.cpan.org/src/perl-5.10.1.tar.gz">perl-5.10.1.tar.gz</a></td>
</tr>
<tr >
<td>5.8</td>
<td>5.8.9
<td>Maint</td>
<td>2008-12-14</td>
<td><a href="http://www.cpan.org/src/perl-5.8.9.tar.gz">perl-5.8.9.tar.gz</a></td>
</tr>
<tr >
<td>5.6</td>
<td>5.6.2
<td>Maint</td>
<td>2003-11-15</td>
<td><a href="http://www.cpan.org/src/perl-5.6.2.tar.gz">perl-5.6.2.tar.gz</a></td>
</tr>
<tr >
<td>5.5</td>
<td>5.5.4
<td>Maint</td>
<td>2004-02-23</td>
<td><a href="http://www.cpan.org/src/perl5.005_04.tar.gz">perl5.005_04.tar.gz</a></td>
</tr>
<tr >
<td>5.4</td>
<td>5.4.5
<td>Maint</td>
<td>1999-04-29</td>
<td><a href="http://www.cpan.org/src/perl5.004_05.tar.gz">perl5.004_05.tar.gz</a></td>
</tr>
<tr >
<td>5.3</td>
<td>5.3.7
<td>Maint</td>
<td>1996-10-10</td>
<td><a href="http://www.cpan.org/src/perl5.003_07.tar.gz">perl5.003_07.tar.gz</a></td>
</tr>
</table>
<p>
<a href="http://perldoc.perl.org/perlhist.html">Perl History</a>
</p>
<p>
If you want to help out developing new releases of Perl visit the <a href=
"http://dev.perl.org/perl5/">development site</a> and join the
<a href="http://lists.perl.org/list/perl5-porters.html">perl5-porters</a> mailing list.
</p>
<h2>
Version scheme
</h2>
<p>
Perl has used the following <a href=
"http://perldoc.perl.org/perlpolicy.html">policy</a> since the 5.6 release
of Perl:
</p>
<ul>
<li>Maintenance branches (ready for production use) are even numbers (5.8,
5.10, 5.12 etc)
</li>
<li>Sub-branches of maintenance releases (5.12.1, 5.12.2 etc) are mostly
just for bug fixes
</li>
<li>Development branches are odd numbers (5.9, 5.11, 5.13 etc)
</li>
<li>RC (release candidates) leading up to a maintenance branch are called
testing releases
</li>
</ul>
<p>
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.
</p>
<p>
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.
</p>
<h2>First release in each branch of Perl</h2>
<table class="os_version">
<tr class="table_header">
<th>Major</th>
<th>Version</th>
<th>Released</th>
</tr>
<tr>
<td>5.12</td>
<td>5.12.0
<td>2010-04-12</td>
</tr>
<tr>
<td>5.10</td>
<td>5.10.0
<td>2007-12-18</td>
</tr>
<tr>
<td>5.8</td>
<td>5.8.0
<td>2002-07-18</td>
</tr>
<tr>
<td>5.6</td>
<td>5.6.0
<td>2000-03-22</td>
</tr>
<tr>
<td>5.5</td>
<td>5.5.0
<td>1998-07-22</td>
</tr>
<tr>
<td>5.4</td>
<td>5.4.0
<td>1997-05-15</td>
</tr>
<tr>
<td>5.3</td>
<td>5.3.7
<td>1996-10-10</td>
</tr>
</table>
<p></p>
<h2>
Other files and directories (mostly for posterity)
</h2>
<ul>
<li>
<a href="5.0/">5.0/</a>
<p>
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.
</p>
</li>
<li>
<p>
Perl 6 or Parrot are not yet in CPAN. In the meanwhile, try
<a href="http://dev.perl.org/perl6/">here</a> or <a href=
"http://www.parrotcode.org/">here</a>.
</p>
</li>
<li>
<a href="5.0/jperl">5.0/jperl</a>
<p>
Path to patch files needed to adapt particular perl releases for
use with Japanese character sets.
</p>
</li>
<li>
<a href="ENDINGS">ENDINGS</a>
<p>
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.
</p>
</li>
<li>
<a href="README">README</a>
<p>
This file.
</p>
</li>
<li>
<a href="misc/">misc/</a>
<p>
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.
</p>
</li>
<li>perl-5.*.tar.gz, perl-5.*.tar.bz2, perl5_*.tar.gz
<p>
Source code archives for several recent production releases of
perl.
</p>
</li>
<li>
<a href="unsupported/">unsupported/</a>
<p>
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.
</p>
</li>
<li>
<a href="5.0/sperl-2000-08-05/">5.0/sperl-2000-08-05</a>
<p>
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, <a href=
"5.0/sperl-2000-08-05/sperl-2000-08-05.txt">as far as we know</a>).
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.
</p>
</li>
<li>
<a href="5.0/CA-97.17.sperl">5.0/CA-97.17.sperl</a>
</li>
<li>
<a href="5.0/fixsperl-0">5.0/fixsperl-0</a>
</li>
<li>
<a href="5.0/fixsuid5-0.pat">5.0/fixsuid5-0.pat</a>
<p>
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, <b>Perl releases newer than Perl 5.003 do not have this
security problem.</b>
</p>
</li>
</ul>
</div>
</td>
</tr>
<tr>
<td id="footer">
<div id="footer_copyright">
<p>Yours Eclectically, The Self-Appointed Master Librarians (<i>OOK!</i>) of the CPAN.<br/>
© 1995-2010 Jarkko Hietaniemi.
© 2011 <a href="http://www.perl.org">Perl.org</a>.
All rights reserved.
<a href="../disclaimer.html">Disclaimer</a>.
</p>
</div>
<div id="footer_mirror">
<p>Master mirror hosted by <a href="http://www.yellowbot.com/"><img alt="YellowBot" src="../misc/images/yellowbot.png" /></a></p>
</div>
</td>
</tr>
</table>
</body>
</html>