my @names_and_rates = map { [ $_->{name}, $_->{data}->[0] ],[ $_->{name}, $_->{data}->[1] ] } @alldata; @maxref = sort { $b->[1] <=> $a->[1] } @names_and_rates; #this next bit just prints the top three foreach (@maxref[0 .. 2] ) { print $_->[0], "\t\t", $_->[1]*8, "\n
"; }