$fname = "haystack.test"; open(TEXT, "<$fname")|| die "could not open file: $fname\n"; while () { $txt .= $_; } @words = split (/[ +\n+\,\:]/, $txt); $len = @words; print "LEN = $len\n"; close (TEXT); $i =0; while( $i< $len) { my $flag2 = 1; my $sptr = my $eptr = $words[$i]; if($sptr =~ /^[A-Z][a-z]+/ ) { $eptr = $words[$i+1] ; if($eptr =~ /^[A-Z][a-z]*/ && $i< $len) { $i++; $sptr = $words[$i]; $eptr = $words[$i+1] ; $flag2 = 0; while($eptr =~ /^[A-Z][a-z]*/ && $i < $len) { $i++; #print "I =$i\n"; $sptr = $words[$i] ; $eptr = $words[$i+1] ; } if (flag2 ne 1) { print"\n";} } else {$i++; } else { $i++;} } print"\n";