Some suggestions in addition to How DO those monks do it:
- Read code - the more the better. Figure out what it does, and how, and why (in case of problems ask the original author - most will be happy to explain given a good question).
- Buy all the O'Reilly Perl Books, Damian Conway's OO Book, Hall and Schwartz's Effective Perl Programming book. Have them at arm's reach, and consult them if you have a problem
- Learn other languages than Perl - how about some LISP, Python, Prolog, Haskell - whatever you like.
- Read books about analysis and design, and study programs you care about with respect to how they are designed and why they are designed this way.
- Learn about the technological issues underlying the programs you write - networking, databases, persistence, security - whatever you need.
- Use your online manuals - before you ask others.
- Read textbooks on programming fundamentals - "Structure and Interpretation of Computer Programs" is my favorite introductory text, but there is a host of others out there.
By far the most important thing to me is to read to code - well written code. This is what will teach you all other stuff. Of course there is no substitute for experience, but good books and reading code will make for an impressing speedup in developing experience.
Christian Lemburg
Brainbench MVP for Perl
http://www.brainbench.com