There are some great posts on Perl monks about how to learn Perl. And a lot of books and tutorials to learn from.

But, once I learn something, I would like to practice it on a real world problem. A lot of posts have problems seeking solutions, and these can be rephrased into 'Write a program to... ' type of questions for beginners. Or, we could just link to those posts from a central place, and point the beginners to it.

The aim would be to create an opportunity for effective learning as defined on Teach Yourself Programming in Ten Years - the most effective learning requires a well-defined task with an appropriate difficulty level for the particular individual, informative feedback, and opportunities for repetition and corrections of errors.

Has this been done or tried before? How do we make it work?