Crypt-Mimetic
view release on metacpan or search on metacpan
lib/Crypt/Mimetic.pm view on Meta::CPAN
# since AFS cheats.
# for the convenience of &wanted calls, including -eval statements:
use vars qw/*name *dir *prune/;
*name = *File::Find::name;
*dir = *File::Find::dir;
*prune = *File::Find::prune;
my (@dirs, %algo);
my $wanted = sub {
my ($dev,$ino,$mode,$nlink,$uid,$gid);
/^Mimetic\z/os &&
(($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
-d _ &&
push(@dirs,"$name");
};
# Traverse desired filesystems
File::Find::find({wanted => $wanted}, @INC);
$wanted = sub {
my ($dev,$ino,$mode,$nlink,$uid,$gid);
/^.*\.pm\z/os &&
(($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
-f _ || return;
s/^(.+)\.pm$/$1/o;
$algo{$_} = $_;
};
File::Find::find({wanted => $wanted}, @dirs);
return ( keys %algo );
}
=pod
( run in 1.112 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )