my @menu_bar_names = qw ( aMenu bMenu ... ); my @MenuItems=""; my %aMenu = { label => "  A", MenuItems => [ @MenuItems ] }; my %bMenu = { label => "  B", MenuItems => [ @MenuItems ] }; my %cMenu = { label => "  C", MenuItems => [ @MenuItems ] }; #### foreach my $app (@sorted_applications) { $app = lc $app; if ( "$app" lt "b" ) { push ( @{ $aMenu{MenuItems} }, $app); next; } elsif ($app lt "c" ) { push (@{ $bMenu{MenuItems} },$app); next; ... #### print " @{$aMenu{MenuItems}}[0]\n"; #### foreach my $abc_menu (@menu_bar_names) { print " @{$abc_menu{MenuItems}}[0]\n"; }