use Sort::Key qw(nkeysort); use Data::Dumper; my %hash = ( 1 => [ 51, 'a2'], 2 => [42, 'a1'] ); my @res = nkeysort { $_->[0]} (values %hash); print Dumper(\@res); #### $VAR1 = [ [ 42, 'a1' ], [ 51, 'a2' ] ];