#!/usr/bin/env perl
use strict;
use warnings;
use feature 'say';
use File::Find;
use Path::Class;
#-----------------------------------------------------------------------------
# Copyright 2013 Jeffrey Ryan Thalhammer
#-----------------------------------------------------------------------------
die "Must specify a CPAN directory\n" if not @ARGV;
my $cpan_dir = dir(shift);
my $search_dir = $cpan_dir->subdir( qw(authors id) );
-e $search_dir or die "$cpan_dir does not look like a CPAN\n";
#-----------------------------------------------------------------------------
my @dists;
my $cb = sub {push @dists, $_ if /[.](gz|tgz|zip|bz2)$/i and not /perl/ and not /BadExample/};
File::Find::find( {no_chdir => 1, wanted => $cb}, $search_dir->stringify);
@dists = map {$_->[0]} sort {$a->[1] <=> $b->[1]} map { [$_ => (stat $_)[9]] } @dists;
say s|^.*/authors/id/./../||r for @dists;
__END__