Data-Hash-Diff-Smart
view release on metacpan or search on metacpan
lib/Data/Hash/Diff/Smart/Engine.pm view on Meta::CPAN
for my $r (@$ignore) {
# Regex rule
if (ref($r) eq 'Regexp') {
push @rules, { type => 'regex', re => $r };
next;
}
# String rule: check for wildcard
if ($r =~ /\*/) {
my @parts = grep { length $_ } split m{/}, $r;
push @rules, { type => 'wildcard', parts => \@parts };
}
else {
push @rules, { type => 'exact', path => $r };
}
}
return \@rules;
}
sub _is_ignored {
my ($path, $rules) = @_;
return 0 unless $rules && @$rules;
# Split current path into parts
my @path_parts = grep { length $_ } split m{/}, $path;
RULE:
for my $rule (@$rules) {
if ($rule->{type} eq 'exact') {
return 1 if $path eq $rule->{path};
}
elsif ($rule->{type} eq 'regex') {
return 1 if $path =~ $rule->{re};
( run in 0.864 second using v1.01-cache-2.11-cpan-71847e10f99 )