use strict; my %HoA; $HoA{0} = [ qw( corkscrews openers toppers ) ]; $HoA{1} = [ qw( glassware stemware tableware ) ]; # From there, sorting the keys is easy, the values is more complex. foreach my $category (sort keys %HoA) { print "Category $category contains:\n"; foreach my $houseware (sort {$a cmp $b} @{ HoA{$category} } ) { print ">>$houseware\n"; } }