in reply to Perl as an intro to programming

Have the teen write a Guessing Game program, one that asks questions and tells you whether your answer is correct or not. He'd need to read a list of questions (with one word answers) from a file, store them in a structure, prompt the user with a random question, read the answer, check for correctness, etc.

It's non-trivial, teaches a lot of the basics of Perl (or any other language) and is something he can beta test on his friends.