use strict; use warnings; use List::Util qw/min/; my %matrix = ( NI => [ 1, 1, 3, 4 ] ); my @NI_index = grep { $matrix{NI}->[$_] == min @{ $matrix{NI} } } 0 .. $#{ $matrix{NI} }; print "@NI_index"; #### 0 1