my $i = 0; foreach my $href ( @array ) { last if date_larger_than( $href->{ 'date' }, $today ); $i++ } # Mark it, if you want, assuming found... if ( $i < scalar @array ) { # $array[$i]->{ 'isnext' } = 1; } #### my ($y, $m, $d) = ( $date =~ /(\d{4})-(\d{2})-(\d{2})/ ); $date_num = $y*10000 + $m*100 + $d;