in reply to Closest match Display

Forgive me for not taking you literally, but I imagine what you are describing is really "search completion", similar to command line completion in a shell or URL completion in a browser. The purpose is to save the user typing by providing an intellegent guess (based upon some algorythm) of what the user is typing and providing a short-cut key to "complete" the entry.

If you wanted to do implement this you have know in advance the complete pool of expected text entries. In our example of command line completion, that would be all possible executable files in the path. In the browser example, that's usually the history list of sites visited before.

This list is then put (in advance for speed reasons) into a alphabetic tree data structure. (Google for details on tree structures... this is beyond the scope of this dicussion).

At the time of user input a very fast lookup can be performed on the tree structure to find the remaining possible entries if any. Depending on your UI, you can put one of these in front of the user, or you can display the whole list in some way (shells use the tab key to either complete the entry if unique or show a list if not).

In the perl realm, this Module looks relavent: Term::Complete

-------------------------------------
Nothing is too wonderful to be true
-- Michael Faraday