$ perl -le' my @array = ( [ "a", "b", "c", ], [ "1", "2", "3", "4", ], [ "x", "y", ], ); my $pattern = join "", map "{$_}", map join( ",", @$_ ), @array; print for glob $pattern; ' a1x a1y a2x a2y a3x a3y a4x a4y b1x b1y b2x b2y b3x b3y b4x b4y c1x c1y c2x c2y c3x c3y c4x c4y