find(
sub {
filestat( "ignored",
$file_count, $dir_count, $total_size,
$aged_file_count, $aged_total_size );
},
$pathname
);
####
sub filestat {
if (-d $_) {
if ($_ ne "." && $_ ne "..") {
++$_[2];
}
} else {
++$_[1];
$_[3] += -s _;
my $file_age= (-C _);
if ($file_age >= $lowrange && $file_age <= $highrange) {
++$_[4];
$_[5] += -s _;
}
}
}
####
sub iFileCount() { 0; }
sub iDirCount() { 1; }
sub iTotalSize() { 2; }
sub iAgedFileCount() { 3; }
sub iAgedTotalSize() { 4; }
find(
sub {
filestat(
$file_count, $dir_count, $total_size,
$aged_file_count, $aged_total_size );
},
$pathname
);
sub filestat {
my($file_age);
my($file_size);
if (-d $_) {
if ($_ ne "." && $_ ne "..") {
++$_[iDirCount];
}
} else {
++$_[iFileCount];
$file_size = (-s _);
$_[iTotalSize] += $file_size;
$file_age = (-C _);
if ($file_age >= $lowrange && $file_age <= $highrange) {
++$_[iAgedFileCount];
$_[iAgedTotalSize] += $file_size;
}
}
}