my @list1 = qw/item1 item2 item3/; my @list2 = qw/item1 item2 item4 item5/; my %hash; my $hr = \%hash; $hash{item1}{item2}{item3} = 3; $hash{item1}{item2}{item4}{item5} = 4; $hr = $hr->{$_} for (@list1); print $hr; $hr = \%hash; $hr = $hr->{$_} for (@list2); print $hr;