use File::Find; @ARGV = ('.') unless @ARGV; my ($age, $name); sub oldest { return if defined $age && $age < (stat($_))[9]; $age = (stat(_))[9]; $name = $File::Find::name; } find(\&oldest, @ARGV); print "$name " . scalar(localtime($age)) . "\n";