Help for this page
use v5.20; use Data::Dump "pp"; ... { $j =~ $z and say pp {$j => \@- }; }
... { acbcaa => [0, 6, 6, 3, 3, 4, 4] } { acbcab => [0, 5, 5, 6, 6, 4, 4] } ... { cccbca => [0, 6, 6, 4, 4, 5, 5] } { ccccab => [0, 5, 5, 6, 6, 4, 4] } { ccccba => [0, 6, 6, 5, 5, 4, 4] }
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'; ... { $j =~ $y and say $j; }
aabbcc aabcbc aabccb ... ccbaab ccbaba ccbbaa
# edit reformatted as a multiline regex for clarity my $y = qr/(?: (?!\1) a () ... | (?!\6) c () ){6} /x;