in reply to Extracting names from string

$s = "s00+Doe.John+52(John ) 19/Doe John|John.Doe\""; #collecting the names in array push @names, $1 while $s =~ m{\W?(\w+(?:\s+|\.)+\w*)+}g; print "$_\n" for @names __END__ Doe.John John Doe John John.Doe