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; } } }