"On the job", I too, for practical reasons, kind of have to limit myself to the amount of Perl to Get The Job Done. On my own time, though, I'm always looking for nifty new things to experiment with, so I
am always expanding my knowledge of Perl. There are two things, though, that have had an exceptional impact on what I've learned:
- PerlMonks. Seriously. Nothing helps you learn something better than teaching it to someon else. I have learned so much more here than most people here would know.
- Learning Perl's C/XS API. Seeing "behind the hood" and learning what makes each of Perl's little bits of magic work has allowed me a lot of insight into the ways that things are done. Optimizations, quirks and idioms kind of flow from that. Of course, a solid foundation in C programming helps immensely as well. It should be obvious to any "real" programmer that unshift will be considerably more expensive than push, but the thought never occurs to the introductory Perl novice.