Not a direct reponse to your question, but there was a
Perl Quiz of the Week involving creating a spellchecker that would suggest word corrections. For my
entry, I created a hash of word-missing-one-character to corrected word for each character for each word in a dictionary, and employed a number of tricks to get it to perform at a reasonable speed. See sub insertmisspelling if you are interested.