MDBLM (or any other tied hash) is what you need for persistence when you're only searching via the firstname (how long before you'll have to come up with a scheme to store multiple occurances of the same first name?), but what happens when you're looking for people with a particular skill or in a particular telephone area code? To future-proof this structure you'll need an SQL database.
rdfield