my $min_i = 0; foreach my $i (1..$#array) { $min_i = $i if $array[$i]->[2] < $array[$min_i]->[2]; } #### my $index=0; $array[$_][2]<$array[$index][2] && ($index=$_) foreach 1..$#array;