($_ = 'aaab') =~ m/(.)((?!\1).)/ and print "$1|$2"; #### a|b #### $_ = 'aaaabbbccddee'; while (m/(.)(.)(??{$1 eq $2})/g) { print "$1|$2\n"; } #### a|b b|c c|d d|e