my $hash; my @component = qw / abs def gki jkl mno /; my $root_dir = 'C:/Stuff/'; foreach my $c (@component){ foreach my $t (qw(this that)){ foreach my $n ('01','02'){ my $csv_file = join '_' => ($c,$t,$n); $hash->{$c}{$t}{$n} = $root_dir.$csv_file; } } }