rsync -rvz cpan.pair.com::CPAN/ > list perl -e 'use strict; use warnings; my %h; while(<>){ chomp; /^\S{10}/ or next; my $n = substr $_,43; substr($_,11) =~ /^\s*(\d+)/ or die; my $s = $1; while ($n =~ m"/|$"g) { my $p = $`; $p =~ m"authors/id/.(?:/..)?$" and next; $h{$p} += $s; } } warn 0+keys(%h); for my $n (reverse+(sort { $h{$b} <=> $h{$a} } keys%h)[0..9999]) { printf "%10.0f %s\n", $h{$n}, $n; }' list > sizes