perlで@INCの中身をあさる。
find版
find `perl -e 'print join(" ", @INC)'` -type f -name "*.pm" -o -name "*.pl"
perl版
#!/usr/bin/perl --
use strict;
use warnings;
$, = $\ = qq[\n];
&recursive( $_ ) foreach @INC;
sub recursive {
my $top = shift;
opendir( DIR, $top ) or return;
my @elems = grep !( m{\A \.\.? \z}mosix ), readdir( DIR );
closedir( DIR ) or die;
foreach my $path ( map qq[$top/$_], @elems ) {
next if -l $path;
&recursive( $path ) if -d $path;
next if !( $path =~ m{\. (?:pm|pl) \z}mosix );
print $path;
}
}
perl版の方が多く出る気がするけど気にしない。
コメントする