$string="abc de fgh ijkl"; while($string =~ /([a-z]+ [a-z]+)/g) { print "$1 $1\n"; } #### abc de fgh ijkl #### abc de de fgh fgh ijkl #### $string =~ /([a-z]+) ([a-z]+)\G(?: [a-z])*?/g #### my @words =split $string; for($i=0;$i<$#words;$i++) { print "$words[$i] $words[$i+1]\n"; }