foreach $group_id (keys %data) { @temp = sort keys %{ $data{$group_id} }; $my_hoa{$group_id}{'ordered'} = [ @temp ]; } foreach $group_id (sort keys %my_hoa) { for $i (0 .. $#{ @{ $my_hoa{$group_id}{'ordered'} } }) { # output some stuff; } } #### print "

array length = ".$#{ @{ $pubs{$lang_group_id}{'pub_alpha_order'} } }."

\n";