johngg@shiraz:~/perl/Monks$ perl -Mstrict -Mwarnings -E ' my @arr1 = qw{ 1 2 3 }; my @arr2 = q{a} .. q{g}; my @arr3 = qw{ I II III }; my $globStr = qq{{@{ [ join q{,}, @arr3 ] }}} . q{__} . qq{{@{ [ join q{,}, @arr2 ] }}} . q{__} . qq{{@{ [ join q{,}, @arr1 ] }}}; say $globStr; say for map { join q{,}, reverse split m{__} } glob $globStr;' {I,II,III}__{a,b,c,d,e,f,g}__{1,2,3} 1,a,I 2,a,I 3,a,I 1,b,I 2,b,I 3,b,I 1,c,I 2,c,I 3,c,I 1,d,I 2,d,I 3,d,I 1,e,I 2,e,I 3,e,I 1,f,I 2,f,I 3,f,I 1,g,I 2,g,I 3,g,I 1,a,II 2,a,II 3,a,II 1,b,II 2,b,II 3,b,II 1,c,II 2,c,II 3,c,II 1,d,II 2,d,II 3,d,II 1,e,II 2,e,II 3,e,II 1,f,II 2,f,II 3,f,II 1,g,II 2,g,II 3,g,II 1,a,III 2,a,III 3,a,III 1,b,III 2,b,III 3,b,III 1,c,III 2,c,III 3,c,III 1,d,III 2,d,III 3,d,III 1,e,III 2,e,III 3,e,III 1,f,III 2,f,III 3,f,III 1,g,III 2,g,III 3,g,III