foreach $primary( @primary ) { print "\t$primary\n"; foreach $secondary( @secondary ) { print "\t\t$secondary\n"; foreach $tertiary( @tertiary ) { print "\t\t\t$tertiary\n"; #%HoH = ( $primary => $secondary => $tertiary); #%HoH = {$primary}{$secondary} => $tertiary); # $HoH{$primary} -> {$secondary} = [] unless ref($HoH{$primary} -> {$secondary}) eq 'ARRAY'; push @{$HoH{$primary} -> {$secondary}},$tertiary; } } }