use strict; use warnings; my @paras = ( {a => 10, b => 3, e => 15, k => 1}, {a => 8, d => 4, e => 17, r => 5}, ); my $paraNum = 1; for my $para (@paras) { my @letters = sort {$b->[0] <=> $a->[0]} map {[$para->{$_}, $_]} keys %$para; print "Paragraph $paraNum:\n"; print join ("\n", map {"$_->[1]: $_->[0]"} @letters), "\n"; ++$paraNum; }