CPAN-Perl-Releases
view release on metacpan or search on metacpan
lib/CPAN/Perl/Releases.pm view on Meta::CPAN
"5.38.3-RC1" => { id => 'SHAY' },
"5.40.1-RC1" => { id => 'SHAY' },
"5.38.3" => { id => 'SHAY' },
"5.40.1" => { id => 'SHAY' },
"5.41.8" => { id => 'SHAY' },
"5.41.9" => { id => 'HYDAHY' },
"5.38.4-RC1" => { id => 'SHAY' },
"5.40.2-RC1" => { id => 'SHAY' },
"5.38.4" => { id => 'SHAY' },
"5.40.2" => { id => 'SHAY' },
"5.41.11" => { id => 'ETHER' },
"5.41.12" => { id => 'ETHER' },
"5.41.13" => { id => 'BOOK' },
"5.42.0-RC1" => { id => 'CONTRA' },
"5.42.0-RC2" => { id => 'CONTRA' },
"5.42.0-RC3" => { id => 'CONTRA' },
"5.42.0" => { id => 'BOOK' },
"5.43.1" => { id => 'HYDAHY' },
"5.38.5-RC1" => { id => 'SHAY' },
"5.40.3-RC1" => { id => 'SHAY' },
"5.38.5" => { id => 'SHAY' },
"5.40.3" => { id => 'SHAY' },
"5.43.2" => { id => 'ETHER' },
"5.43.3" => { id => 'CONTRA' },
"5.43.4" => { id => 'EHERMAN' },
"5.43.5" => { id => 'CONTRA' },
"5.43.6" => { id => 'SHAY' },
"5.43.7" => { id => 'CORION' },
"5.43.8" => { id => 'HYDAHY' },
"5.42.1-RC1" => { id => 'SHAY' },
"5.42.1" => { id => 'SHAY' },
"5.43.9" => { id => 'EHERMAN' },
"5.40.4-RC1" => { id => 'SHAY' },
"5.42.2-RC1" => { id => 'SHAY' },
"5.40.4" => { id => 'SHAY' },
"5.42.2" => { id => 'SHAY' },
"5.43.10" => { id => 'BOOK' },
"5.43.11" => { id => 'PEVANS' },
};
sub perl_tarballs {
my $vers = shift;
return unless defined $vers;
$vers = shift if eval { $vers->isa(__PACKAGE__) };
return unless exists $data->{ $vers };
if ( exists $cache->{ $vers } ) {
return { %{ $cache->{ $vers } } };
}
my $pumpkin = $data->{ $vers }->{id};
my $path = join '/', substr( $pumpkin, 0, 1 ), substr( $pumpkin, 0, 2 ), $pumpkin;
my $sep = ( $vers =~ m!^5\.0! ? '' : '-' );
my $perl = join $sep, 'perl', $vers;
my $onlygz = 1 if $vers =~ m!(?-xism:5.(?:00(?:4(?:_0[12345])?|5(?:_0[1234])?|3_07)|1(?:0.0(?:-RC[12])?|6.0-RC0)|6.(?:[02]|1(?:-TRIAL[123])?)|9.[12345]|7.[0123]|8.[01]))! || $data->{ $vers }->{onlygz};
my $onlybz2 = 1 if $data->{ $vers }->{onlybz2};
my $noxz = 1 if $data->{ $vers }->{noxz};
my $lvers;
{
my $tvers = $vers;
$tvers =~ s!\-?(TRIAL|RC)\d*!!g;
$tvers =~ s!_!.!g;
my @parts = split m!\.!, $tvers;
push @parts, 0 if scalar @parts < 3;
$lvers = sprintf("%d.%03d%03d",@parts);
}
my $foo = { };
$foo->{'tar.gz'} = "$path/$perl.tar.gz" unless $onlybz2;
$foo->{'tar.bz2'} = "$path/$perl.tar.bz2" unless $onlygz || $lvers > 5.027005;
$foo->{'tar.xz'} = "$path/$perl.tar.xz" if $lvers > 5.021005 && !$noxz;
delete $foo->{'tar.bz2'} if $pumpkin eq 'SHAY' && $lvers < 5.028000;
$cache->{ $vers } = $foo;
return { %$foo };
}
sub perl_versions {
return sort _by_version keys %$data;
}
sub _by_version {
my %v = map {
my @v = split(qr/[-._]0*/, $_);
$v[2] ||= 0;
$v[3] ||= 'Z';
($_ => sprintf '%d.%03d%03d-%s', @v)
} $a, $b;
$v{$a} cmp $v{$b};
}
sub perl_pumpkins {
my %pumps = map { ( $data->{$_}->{id} => 1 ) } keys %$data;
return sort keys %pumps;
}
q|Acme::Why::Did::I::Not::Read::The::Fecking::Memo|;
__END__
=pod
=encoding UTF-8
=head1 NAME
CPAN::Perl::Releases - Mapping Perl releases on CPAN to the location of the tarballs
=head1 VERSION
version 5.20260601
=head1 SYNOPSIS
use CPAN::Perl::Releases qw[perl_tarballs];
my $perl = '5.14.0';
my $hashref = perl_tarballs( $perl );
print "Location: ", $_, "\n" for values %{ $hashref };
=head1 DESCRIPTION
( run in 1.137 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )