use v5.14; while(<>) { while( m/ \b (\w\S+) ( \s+ \1 ) + \b /xi #if add modifier "g", it works fine. ) { say "dup word '$1' at paragraph $."; } }