>perl -wMstrict -le "my $s = 'abcd'; ;; my @pairs1 = $s =~ m{ (?= (..)) (?{ printf qq{'$^N' } }) }xmsg; print ''; printf qq{:$_: } for @pairs1; print ''; ;; my @pairs2 = $s =~ m{ (?= (..) (?{ printf qq{'$^N' } })) }xmsg; print ''; printf qq{:$_: } for @pairs2; print ''; " 'ab' 'ab' 'bc' 'bc' 'cd' 'cd' :ab: :bc: :cd: 'ab' 'ab' 'bc' 'bc' 'cd' 'cd' :ab: :bc: :cd: