Using the sqlite database provided by
CPANTS I ran a few queries. (Unreasonably) assuming I understand the schema and know how to use SQL here is the list of the top 10 modules based on number of distributions
directly requiring them:
sqlite> SELECT COUNT(*) cnt, requires FROM prereq GROUP BY requires OR
+DER BY cnt DESC LIMIT 10;
4324|Test::More
1181|perl
879|Carp
556|File::Spec
399|Scalar::Util
385|Test::Pod
380|LWP::UserAgent
310|DBI
292|URI
291|version
For the top 100:
4324|Test::More
1181|perl
879|Carp
556|File::Spec
399|Scalar::Util
385|Test::Pod
380|LWP::UserAgent
310|DBI
292|URI
291|version
284|Test::Exception
276|Test::Pod::Coverage
266|Test::Simple
263|Data::Dumper
248|File::Temp
242|Digest::MD5
242|POE
232|UNIVERSAL::require
228|Class::Accessor
207|Storable
205|Class::Accessor::Fast
204|Template
201|YAML
198|Catalyst
197|Module::Build
196|Time::HiRes
188|Getopt::Long
187|Exporter
181|File::Basename
177|Encode
174|DateTime
164|File::Path
164|strict
163|IO::File
153|WWW::Mechanize
152|URI::Escape
151|List::Util
151|Params::Validate
150|MIME::Base64
138|XML::Simple
131|Cwd
128|Pod::Usage
128|warnings
122|LWP
122|XML::LibXML
120|HTML::Entities
118|DBD::SQLite
116|Kwiki
115|CGI
115|File::Slurp
114|HTTP::Request
114|Log::Log4perl
113|POSIX
111|LWP::Simple
103|Class::Data::Inheritable
103|Moose
101|Class::DBI
98|File::Copy
94|Readonly
92|List::MoreUtils
92|Test::Compile
90|File::Find::Rule
83|Digest::SHA1
80|Path::Class
79|CGI::Application
79|File::Find
79|Tk
78|Params::Util
78|Parse::RecDescent
78|Test::Builder
75|FindBin
75|HTML::Parser
74|Compress::Zlib
74|DBIx::Class
71|XML::Parser
69|Fcntl
68|Error
68|Test
65|Exception::Class
65|Test::Perl::Critic
65|base
62|Catalyst::Runtime
62|IO::Scalar
62|Module::Pluggable
62|Socket
61|NEXT
61|Time::Local
60|GD
60|Test::Harness
59|Date::Parse
59|Test::Differences
58|ExtUtils::MakeMaker
58|HTML::TreeBuilder
57|Regexp::Common
56|Test::Warn
55|Class::Inspector
55|Test::MockObject
53|Filter::Simple
53|YAML::Syck
51|Clone
If we only want to include modules that are distributed on CPAN (including the dual life modules) then we have the following:
sqlite> SELECT COUNT(*) cnt, requires FROM prereq WHERE requires NOT I
+N (SELECT module FROM modules WHERE dist=0) GROUP BY requires ORDER B
+Y cnt DESC LIMIT 10;
4324|Test::More
556|File::Spec
399|Scalar::Util
385|Test::Pod
380|LWP::UserAgent
310|DBI
292|URI
291|version
284|Test::Exception
276|Test::Pod::Coverage
and the top 100:
4324|Test::More
556|File::Spec
399|Scalar::Util
385|Test::Pod
380|LWP::UserAgent
310|DBI
292|URI
291|version
284|Test::Exception
276|Test::Pod::Coverage
266|Test::Simple
263|Data::Dumper
248|File::Temp
242|Digest::MD5
242|POE
232|UNIVERSAL::require
228|Class::Accessor
207|Storable
205|Class::Accessor::Fast
204|Template
201|YAML
198|Catalyst
197|Module::Build
196|Time::HiRes
188|Getopt::Long
177|Encode
174|DateTime
164|File::Path
153|WWW::Mechanize
152|URI::Escape
151|List::Util
151|Params::Validate
150|MIME::Base64
138|XML::Simple
131|Cwd
128|Pod::Usage
122|LWP
122|XML::LibXML
120|HTML::Entities
118|DBD::SQLite
116|Kwiki
115|File::Slurp
114|HTTP::Request
114|Log::Log4perl
111|LWP::Simple
103|Class::Data::Inheritable
103|Moose
101|Class::DBI
94|Readonly
92|List::MoreUtils
92|Test::Compile
90|File::Find::Rule
83|Digest::SHA1
80|Path::Class
79|CGI::Application
79|Tk
78|Params::Util
78|Parse::RecDescent
78|Test::Builder
75|HTML::Parser
74|Compress::Zlib
74|DBIx::Class
71|XML::Parser
68|Error
65|Exception::Class
65|Test::Perl::Critic
62|Catalyst::Runtime
62|IO::Scalar
62|Module::Pluggable
61|Time::Local
60|GD
60|Test::Harness
59|Date::Parse
59|Test::Differences
58|ExtUtils::MakeMaker
58|HTML::TreeBuilder
57|Regexp::Common
56|Test::Warn
55|Class::Inspector
55|Test::MockObject
53|Filter::Simple
53|YAML::Syck
51|Clone
51|Math::BigInt
51|Test::Deep
50|SOAP::Lite
49|Sub::Exporter
49|Text::Balanced
48|Crypt::SSLeay
48|HTTP::Response
47|Date::Calc
47|HTTP::Request::Common
47|IO::String
46|File::HomeDir
46|Time::Piece
45|Gtk2
45|Test::Builder::Tester
44|HTML::TokeParser
44|Test::Base
43|Carp::Clan
Someone with more SQL-fu might be able to generate the list of top 10 modules when including all the other distributions that don't
directly require a module.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.