Lately I've been reading a number of books with included exercises (ANSI Common Lisp, Structure and Interpretation of Computer Programs, and Expert C Programming, in particular). I'm finding it useful to work through the exercises not only in the expected language, but in others as well, naturally including Perl. (In fact, I've been working through them in C, Perl, and Common Lisp. Scheme's on my to-do list.)
This is a great way (IMO) to:
- Improve your general programming skills.
- Expose yourself to different ways of doing things.
- Find out a language's strengths and weaknesses in very difficult to ignore ways.
- Generally stretch your brain.
I encourage my fellow monks to consider using multiple languages the next time they read a suitable book. Most of the problems are small and well-defined, and won't take a hell of a lot of time. (Most of them are fairly easy, to boot.)
And if you don't know any other languages, this might not be a bad excuse to learn one....