- @logfiles=split /\n/, `find $logdir -type f -regex '.*.log' ! -name faillog ! -name lastlog $perm`;
- push @logfiles, "$logdir/mail.err", "$logdir/mail.warn";
+ find(sub {my $fn = $_;
+ my $stat = stat($File::Find::name);
+ next if not defined $stat;
+ if (($fn =~ /\.log$/ or $fn =~ /^mail\.(?:err|warn)$/) and ($stat->mode & 0006 or $> == 0)) {
+ push @logfiles,$File::Find::name;
+ }
+ },
+ $logdir
+ );