$ perl -le 'print for glob( q{{a,b}{c,d}} );' ac ad bc bd $ #### $ perl -le ' > @lists = ( > [ qw{ 1 2 3 } ], > [ qw{ a b } ], > [ qw{ X Y Z } ], > ); > $globStr = > join q{}, > map { qq{{@{ [ join q{,}, @$_ ] }}} } > @lists; > print for glob $globStr;' 1aX 1aY 1aZ 1bX 1bY 1bZ 2aX 2aY 2aZ 2bX 2bY 2bZ 3aX 3aY 3aZ 3bX 3bY 3bZ $