my $oldest = time; my $oldest_file = undef; while( defined( my $file = readdir(DIR) )) { # or use File::Spec for extra portability below next if $file eq '.' or $file eq '..'; $age = (stat $file)[9]; if( $age < $oldest ) { $age = $oldest; $oldest_file = $file; } }