my @y = glob('{a,b,c}'x6); my $y = '(?:(?!\1)a()|(?!\2)a()|(?!\3)b()|(?!\4)b()|(?!\5)c()|(?!\6)c()){6}\1\2\3\4\5\6'; for my $j (@y) { $j =~ $y and say $j; }