in reply to Dealing with Names
You might investigate the CPAN module Lingua-EN-NameParse-1.24. While it is not obvious from your question, perhaps using Lingua's approach before the arrays are created might skip the problem entirely.
--hsm
"Never try to teach a pig to sing...it wastes your time and it annoys the pig."
In Section
Seekers of Perl Wisdom