use strict; my %seen; foreach my $I (@INC) { my $cmd = "find $I -name *.pm"; open(FILES, "$cmd|") || die("$cmd: $!\n"); while() { s/\s+$//; my $mod = $seen{$_} = $_; substr($mod, 0, length($I)+1, ""); $mod =~ s#/#::#g; $mod =~ s/\.pm//; printf(STDOUT "%-50s: %s\n",$I, $mod) } } __END__