I think Lingua::EN::NameParse also might help you.
Prasad
In reply to Re: Parsing out first names by prasadbabu in thread Parsing out first names by Anonymous Monk