CPAN::P...eleases(3)

πŸ’– CPAN::Perl::Releases πŸ’–

okay bestie, so this is CPAN::Perl::Releases β€” a lil Perl module from the User Contributed Perl Documentation corner of the manual-verse. it's basically the group chat that knows where every perl tarball lives on CPAN. no cap. 🫢


✨ NAME ✨

CPAN::Perl::Releases β€” mapping Perl releases on CPAN to the location of the tarballs πŸ’…


🌸 VERSION 🌸

version 5.20260924 β€” yes that's the whole vibe, that's the number, periodt.


πŸŽ€ SYNOPSIS πŸŽ€

like, here's the whole entire point:

use CPAN::Perl::Releases qw[perl_tarballs];

my $perl = '5.14.0';

my $hashref = perl_tarballs( $perl );

print "Location: ", $_, "\n" for values %{ $hashref };

that's it. that's the slay. ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

so CPAN::Perl::Releases is a module that contains the mappings of all the perl releases that have ever been uploaded to CPAN, pointing them at the authors/id/ path where the tarballs actually live. it's giving personal assistant for tarballs. πŸ’–

it's static data, but newer versions of this module will be made available as new releases of perl get uploaded to CPAN. so like, she grows, she evolves, she keeps up. πŸ‘‘


πŸ”₯ FUNCTIONS πŸ”₯

⭐ perl_tarballs

takes one parameter β€” a perl version to search for β€” and returns a hashref on success, or undef otherwise. (yes, undef, the heartbreak option. 😭)

the returned hashref will have a key/value for each type of tarball. a key of tar.gz means the location of a gzipped tar file, and tar.bz2 means a bzip2'd tar file. the values will be the relative path under authors/id/ on CPAN where the indicated tarball will be located.

check it:

perl_tarballs( '5.14.0' );

returns a hashref like:

{
  "tar.bz2" => "J/JE/JESSE/perl-5.14.0.tar.bz2",
  "tar.gz" => "J/JE/JESSE/perl-5.14.0.tar.gz"
}

lowkey important lore: not all perl releases had tar.bz2, some only have a tar.gz. so don't come for her if the bz2 key is missing. πŸ™ˆ

also β€” Perl tarballs may also be compressed using xz and therefore have a tar.xz entry. iconic compression behavior, honestly. 🎁

🌈 perl_versions

returns the list of all the perl versions supported by the module, in ascending order. πŸ“ˆ

and this part is key, bestie: TRIAL and RC will be lower than an actual release. so the vibes are ranked correctly, trial/RC girlies do not outrank the real thing.

πŸ‘‘ perl_pumpkins

returns a sorted list of all PAUSE IDs of Perl pumpkins. πŸŽƒ yes, that's really what they're called. iconic. we love the pumpkin lore.


πŸ’œ SEE ALSO πŸ’œ


πŸ’… AUTHOR πŸ’…

Chris Williams <chris@bingosnet.co.uk>


This software is copyright (c) 2026 by Chris Williams.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


bestie disclaimer: this data is static, so if a brand new perl just dropped and it's not here yet, that's a version-of-the-module thing, not a skill issue. πŸ’–

and that's the whole page, mwah πŸ’‹ β€” this was perl v5.42.3, dated 2026-09-25, straight from the User Contributed Perl Documentation. go locate some tarballs, you absolute main character. 🫢✨

πŸ“¦ where this page comes from