#!/bin/perl # use Data::Dumper; my @primary = qw( foo bar ); my @secondary = qw( p0 p1 p2 ); my @tertiary = qw( itema itemb ); my %HoH; 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); } } } print Dumper \%HoH; #### foo => p0 => itema itemb p1 => itema itemb p2 => itema itemb bar => p0 => itema itemb p1 => itema itemb p2 => itema itemb #### $VAR1 = { 'bar' => 'p2', 'itemb' => undef };