I also use ActiveState on my Windows 2000 box. The following code generates a list of all modules on my PC (including paths). I noticed that there were a lot of modules installed under the "C:\Perl\site\lib" subdirectory that I never added myself, so assuming that "C:\Perl\lib" is the only place for defaults would be a mistake.I also have a Unix version of the code below. Both my versions print to the screen and to a file (as a newbie, I kinda like seeing it "do" something so I know it's working!). ;-)
#!/usr/bin/perl5 -w
#finds all .pm modules on a PC
use strict;
use File::Find;
my $report = "C:\\Temp\\results.txt";
open MYOUTPUT, "> $report" or die "Can't open $report: $!";
my @directories = ("C:\\Perl");
my @foundfiles;
# Collect all .pm files below each directory in @directories
# and put them into @foundfiles
find ( sub { push @foundfiles, $File::Find::name if /\.pm$/ },
@directories);
#and print them to my file "results.txt"
print "$_\n" for @foundfiles;
print MYOUTPUT "$_\n" for @foundfiles;
close MYOUTPUT;
Hope that helps.
Lori |