for my $incl_dir (@INC) { find { wanted => sub { my $file = $_; # They have to end in .pm... return unless $file =~ /.+\.pm/; # Convert the path name to a module name... $file =~ s{^\Q$incl_dir/\E}{ }; $file =~ s{/}{::}g; # Handle standard subdirectories (like site_perl/ or 5.8.6/)... ## 5.8.8::URI.pm ## i386-linux-thread-multi::Net::DNS::RR::MG.pm $file =~ s{^ +\d+\.\d+\.\d+::}{}g; $file =~ s{^ ?[^A-Z]+::}{}g; $file =~ s/^ +//g; return if $file =~ m{^::}; # Print the module's name (once)... #print "printing\n"; print {$fh} $file, "\n" unless $already_seen{$file}++; }, no_chdir => 1, }, $incl_dir;