in reply to Inverting full names

Have you taken a look at Lingua::EN::NameParse? It looks like a good try at solving this problem: Lingua::EN::NameParse