/([perl]).*(?!\1)([perl]).*(?!\1)(?!\2)([perl]).*(?!\1)(?!\2)(?!\3)([perl])/ #### while (<>) { my $i=0; print join(" ", grep { (($i++) % 5) == 0 } /\b(([perl])\w*(?!\2)([perl])\w*(?!\2)(?!\3)([perl])\w*(?!\2)(?!\3)(?!\4)([perl]))\b/g),"\n"; }