* completely new answer.  added to perlfaq.pod too.

Index: perlfaq.pod
===================================================================
RCS file: /cvs/public/perlfaq/perlfaq.pod,v
retrieving revision 1.13
diff -u -d -r1.13 perlfaq.pod
--- perlfaq.pod 10 Nov 2002 17:35:47 -0000      1.13
+++ perlfaq.pod 10 Nov 2002 18:15:42 -0000
@@ -182,6 +182,10 @@
 
 =item *
 
+How do I find which modules are installed on my system?
+
+=item *
+
 How do I debug my Perl programs?
 
 =item *
Index: perlfaq3.pod
===================================================================
RCS file: /cvs/public/perlfaq/perlfaq3.pod,v
retrieving revision 1.28
diff -u -d -r1.28 perlfaq3.pod
--- perlfaq3.pod        30 Oct 2002 18:41:25 -0000      1.28
+++ perlfaq3.pod        10 Nov 2002 18:15:43 -0000
@@ -59,6 +59,34 @@
 from the source distribution is simplistic and uninteresting, but
 may still be what you want.
 
+=head2 How do I find which modules are installed on my system?
+
+You can use the ExtUtils::Installed module to show all
+installed distributions, although it can take awhile to do
+its magic.  The standard library which comes with Perl just
+shows up as "Perl" (although you can get those with
+Mod::CoreList).
+
+       use ExtUtils::Installed;
+
+       my $inst    = ExtUtils::Installed->new();
+       my @modules = $inst->modules();
+
+If you want a list of all of the Perl module filenames, you
+can use File::Find::Rule.
+
+       use File::Find::Rule;
+
+       my @files = File::Find::Rule->file()->name( '*.pm' )->in( @INC );
+
+If you simply need to quickly check to see if a module is
+available, you can check for its documentation.  If you can
+read the documentation the module is most likely installed. 
+If you cannot read the documentation, the module might not
+have any (in rare cases).
+
+       prompt% perldoc Module::Name
+
 =head2 How do I debug my Perl programs?
 
 Have you tried C<use warnings> or used C<-w>?  They enable warnings


Reply via email to