Hi
qazwart
I agree with you and I agree with davorg's suggestion to use File::Find::Rule. The rules can be a bit verbose so I put them in a sub.
#!/usr/bin/perl
use strict;
use warnings;
use File::Find::Rule;
my $dir = 'c:/www/sw/category';
my $rule = get_rule($dir);
while (my $file = $rule->match) {
print "$file\n";
}
sub get_rule{
my ($dir) = @_;
my $rule = File::Find::Rule->new;
$rule->or(
$rule->new
->directory
->name(qr/^_/)
->prune
->discard,
$rule->new
);
$rule->name('*.html');
$rule->file->not(
$rule->new->name('00template.html'),
$rule->new->name('00greybox.html'),
);
$rule->start($dir);
return $rule;
}