> #!perl -lp
> / /;$A{$'}.=$".$`}for(map{s}.}9-$&}e;$_}sort
> map{9-$A{$_}=~y. ...sprintf" %-10s:$A{$_}",$_}keys%A){
Interesting sub-problem is shortest way to space-fill the CPAN ID:
sprintf"%-10s",$_
pack A10,$_
uc($_^$"x10)
The last works because CPAN IDs match /^[A-Z]{4,9}$/.
Replacing the grotty sprintf with pack saves 4 strokes:
#!perl -lp
/ /;$A{pack A10,$'}.=$".$`}for(map{s}.}9-$&}e;$_}sort
map{9-$A{$_}=~y. ..." $_:$A{$_}"}keys%A){
/-\
http://search.yahoo.com.au - Yahoo! Search
- Looking for more? Try the new Yahoo! Search