Analizo

 view release on metacpan or  search on metacpan

lib/Analizo/FilenameFilter.pm  view on Meta::CPAN

package Analizo::FilenameFilter;
use strict;
use warnings;

sub new {
  my ($package, @options) = @_;
  my $self = {
    regex => '.',
    reverse =>  0,
    @options
  };
  return bless $self, __PACKAGE__;
}

sub exclude {
  my ($package, @paths) = @_;
  my $regex = sprintf("^(./)?(%s)", join('|', @paths));
  return $package->new(regex => $regex, reverse => 1);
}

sub matches {
  my ($self, $filename) = @_;
  my $match = ($filename =~ /$self->{regex}/);
  return $self->{reverse} ? !$match : $match;
}

1;



( run in 3.051 seconds using v1.01-cache-2.11-cpan-99c4e6809bf )