my $min; foreach (@dates) { next unless /^(\d+)-(\d+)-(\d+)$/; $min ||= ["$3$2$1", $_]; next unless "$3$2$1" < $min->[0]; $min = ["$3$2$1", $_]; } my $mindate = $min->[1];