use strict; use warnings; my @array = ([0,.95,.114,0], [1,0,0,1], [1,3,5,7]); my $var; my @a; for (my $i = 0; $i <= $#array; $i++) { $a[$i] = join ',', @{$array[$i]}; $var .= "\{\$a\[$i\]\}-"; # can't use single quotes here because $i won't resolve } #my $a = join ',', @{$array[0]}; #print "$_\n" for glob "{$a[0]}-{$a[1]}-{$a[2]}"; #this line works, but it's not dynamic, ie. always prints out exactly three lines print "$_\n" for glob $var; #this line doesn't work; apparently you can't resolve a variable to glob (?) print "$var\n\n"; #this line shows what the $var variable is passing to glob in line 17