my ($exclude) = map qr{ (?: \Q$_\E) (*SKIP) (*FAIL) }xms, join q{|}, qw(e.g. i.e. Dr. Mr. Mrs. ... etc.) ; my $delimiter = qr{ $exclude [.?!] \s }xms; #### my ($exclude) = map qr{ (?: $_) (*SKIP) (*FAIL) }xms, join q{ | }, map qq{\Q$_\E}, reverse sort qw(e.g. i.e. Dr. Mr. Mrs. ... etc.) ; my $delimiter = qr{ $exclude [.?!] \s }xms; #### my $name = qr{ [[:upper:]] [[:lower:]]+ }xms; my $initialed_name = qr{ \b [[:upper:]] [.] (?= \s+ $name) }xms; my ($exclude) = map qr{ (?: $_) (*SKIP) (*FAIL) }xms, join q{ | }, $initialed_name, map qq{\Q$_\E}, reverse sort qw(e.g. i.e. Dr. Mr. Mrs. ... etc.) ; my $delimiter = qr{ $exclude [.?!] \s }xms; #### my $initial = qr{ \b [[:upper:]] [.] \s* }xms; my $name = qr{ \b [[:upper:]] [[:lower:]]* }xms; my $initialed_name = qr{ $initial+ (?= \s+ $name) }xms;