in reply to
Favourite modules April 2003
Here, including my own stuff are my top 20 according to useage---
- 0010, Carp::Assert
- 0011, XML::Twig
- 0012, Chess::PGN::Moves
- 0013, Carp
- 0013, Wild
- 0016, Chess::PGN::Filter
- 0016, Getopt::Std
- 0017, Parse::RecDescent
- 0018, File::Basename
- 0021, DB_File
- 0021, Pod::Usage
- 0022, Text::Wrap
- 0023, Getopt::Long
- 0027, Text::DelimMatch
- 0032, Text::CSV
- 0039, Chess::PGN::Parse
- 0045, Test
- 0046, ExtUtils::MakeMaker
- 0048, Data::Dumper
- 0062, Chess::PGN::EPD
- 0068, constant
- 0223, diagnostics
- 0223, warnings
- 0239, strict
How do I know this? Fairly easy, go to the root of your Perl development tree on the box of your choice and append the results of 'grep -rd "^use " *.pl' to this:
#!/perl/bin/perl
#
# use.pl -- statistics for 'use' module name.
use strict;
use warnings;
use diagnostics;
my %module;
my @list;
while (<DATA>) {
if (/^use\s(.*?);/) {
my $what = $1;
if ($what =~ /^lib/) {
$module{'lib'}++;
}
elsif ($what =~ /^constant/) {
$module{'constant'}++;
}
else {
$module{$what}++;
}
}
}
for (keys %module) {
push(@list,sprintf("%04d|%s",$module{$_},$_));
}
for (sort @list) {
my($howmany,$what) = split /\|/;
print "$howmany, $what\n";
}
__DATA__
And then run the script...
--hsm
"Never try to teach a pig to sing...it wastes your time and it annoys the pig."