http://qs321.pair.com?node_id=213194


in reply to Re: MySQL Alphabetical order with DBI
in thread MySQL Alphabetical order with DBI

(This may be a bit tangential to the specific question, but I don't think it's entirely off-topic...)

I can attest to having encountered the multiple-last-name problem firsthand. Because my parents were uncreative (just kidding, mom & dad :-), they decided to give me the same first and middle names as my father, which were the same as his father's, and his father's... so my legal name actually has an "IV" (Roman numeral 4) suffix on it. Every now and then I'll do something like withdraw money from an ATM and have it display something like "Thank you, Mr. IV".

Chinese names present an altogether different problem, because in Chinese the last name comes first. This means that Mao Zedong, for example, is (well, was) Mr. Mao, not Mr. Zedong or Mr. Dong.

What's my point here? That name parsing is another of those tasks in which the naive algorithm (split on spaces) can miss a lot of subtle cases. If the data set is not trivial and you want to get it right -- which is a laudable goal, as many people get annoyed when their names are mangled -- using something like Lingua::EN::NameParse is probably smart. (It won't handle Chinese names as far I can tell, but then it does live under Lingua::EN...)

        $perlmonks{seattlejohn} = 'John Clyman';