/usr/share/doc/libcpan-perl-releases-perl/examples/findlinks.pl is in libcpan-perl-releases-perl 1.62-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | use strict;
use warnings;
use File::Spec;
use autodie;
use CPAN::DistnameInfo;
my $dir = shift or die;
die unless -d $dir;
my %data;
opendir( my $DIR, $dir );
while( my $file = readdir $DIR ) {
next if $file =~ /^\./ or $file !~ /^perl.+(bz2|gz)$/;
my $abs = File::Spec->catfile( $dir, $file );
next unless -l $abs;
my $link = readlink $abs;
$link =~ s#^.*/authors/id/##;
my $d = CPAN::DistnameInfo->new( $link );
$data{ $d->version }->{ $d->extension} = $link;
}
my %v = map {
my @v = split(qr/[-._]0*/, $_);
$v[2] ||= 0;
$v[3] ||= 'Z';
($_ => sprintf '%d.%03d%03d-%s', @v)
} keys %data;
print "{\n";
foreach my $perl ( sort { $v{$a} cmp $v{$b} } keys %data ) {
print qq! "$perl" => {\n!;
print qq! "$_" => "!, $data{$perl}->{$_}, qq{",\n}
for sort keys %{ $data{$perl} };
print " },\n";
}
print "};\n";
exit 0;
|