sub scanConfig { my ($at, $pattern) = @_; if ([ -d $at ] && opendir(DIR,$at)) { my @entries = readdir(DIR); closedir(DIR); map { scanConfig($at.'/'.$_, $pattern) unless m/^\./; } @entries; } elsif ([ -f $at ]) { warn "Include '$at'\n"; push @Include, $at if $at =~ m/$pattern/; } else { warn "Skipping $at\n"; }; }; scanConfig('/Users/dirkx/tmp/conftest','.*\.conf$');