in reply to Split first and last names

A similiar question (last name first) was discussed here: RegExp, grabbing first name - perhaps parts of that approach are applicable for your use case?

Edit: As per Re: RegExp, grabbing first name, also have a look at Lingua::EN::NameParse