#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; for my $s (qw( xxabyycdzz axxbmmmcyyd xxyy exxyy xxyyf xxgyy mmm mmmennn )) { say for '---', $s; say $2 while $s =~ /(?|^((.))\2(?!\2) |(?<=(.)(?!\1))(.)\2(?!\2))/gx; } #### ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,