So I got my Perl Jotto program working last night. It picks a random word from its list of words (/usr/dict/words pared down to the five-letter words) and has you guess it. Next thing to add to it is checking of guesses to make sure that they are legal words.
Once that's done, the next big step is to make a program capable of guessing my word. The basic algorithm is just to have it figure out which words are possible and pick a random word from that list. mattlistener talked about some potentially better algorithms earlier, either in his journal or in an email to me, so I think it's time to dig those up and see what I can do with that. I may also have it try different things depending on whether it is playing a human or computer opponent. And maybe something where it tries to pick up patterns in words that its opponent uses (which would make necessary stored memory and identification of opponent). And eventually maybe some sort of method where different Jotto programs could play against each other, in order to evaluate algorithms.
Later, I may post the code for my scoring algorithm, which took me a while to get because of a misunderstanding of how Perl's $# works.