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; } } } #### my $root_dir = 'C:/Stuff/'; my $component = 'abs'; my $this_that = 'this'; my $index = '01'; my $csv_file = (join '_' => ($component,$this_that,$index)). '.csv'; my $csv_file_path = $root_dir.$csv_file;