in reply to Best way to search flat-file database
Have you looked at String::Approx? If you can split the name into tokens, this would probably suffice. You might have to be creative if you have a case where names run together:
Cowboy P Neal
cowboyneal
It still could probably be made to work even in this case.