c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "print 'Perl version ', $]; ;; my $s = 'abcd'; ;; local our @caps; ()= $s =~ m{ (?= (\w\w) (?{ push @caps, [ $^N, $-[1] ] })) }xmsg; dd \@caps; ;; my $skip; print qq{captured '$_->[0]' at offset $_->[1]} for grep $skip = !$skip, @caps; " Perl version 5.008009 [["ab", 0], ["ab", 0], ["bc", 1], ["bc", 1], ["cd", 2], ["cd", 2]] captured 'ab' at offset 0 captured 'bc' at offset 1 captured 'cd' at offset 2