Complete-File
view release on metacpan or search on metacpan
lib/Complete/File.pm view on Meta::CPAN
};
# prepare filter_func
# from the filter option
my $filter;
if ($args{filter} && !ref($args{filter})) {
my @seqs = split /\s*\|\s*/, $args{filter};
$filter = sub {
my $name = shift;
my @st = stat($name) or return 0;
my $mode = $st[2];
my $pass;
SEQ:
for my $seq (@seqs) {
my $neg = sub { $_[0] };
for my $c (split //, $seq) {
if ($c eq '-') { $neg = sub { $_[0] ? 0 : 1 } }
elsif ($c eq 'r') { next SEQ unless $neg->($mode & 0400) }
elsif ($c eq 'w') { next SEQ unless $neg->($mode & 0200) }
elsif ($c eq 'x') { next SEQ unless $neg->($mode & 0100) }
( run in 1.247 second using v1.01-cache-2.11-cpan-49f99fa48dc )