use strict; use warnings; my @matrix = ( {A => 22, C => 51, G => 7, T => 0}, {A => 9, C => 30, G => 0, T => 2}, ); for my $h (@matrix) { my @temp; print "[ "; for my $k (sort {$h->{$b} <=> $h->{$a}} (keys(%{$h}))) { print "$h->{$k} "; push @temp, $k } print "@temp ]\n" }