|Perl: the Markov chain saw|
I can only endorse to that. What I think is pretty interesting is that Athanasius emphasizes the usage of idioms. The python fans always emphasize the usage of the "one-and-only-correct-idiom". I have to admit that I think that the allways stated TIMTOWTDI in Perl is a simple fact but not a perfect advice to get a good programmer in Perl.
Start to study code on CPAN where you know that's newer code and it's well rated. You will soon get a feeling for readable code. And you will find repetitions of hopefully good idioms.
I underrated map and grep for a long time. Look at their power.
My last advice: I would have been happy having a good perl programmer as a mentor. I never had the oportunity. Why do I advice this: You need someone experienced who tell you what you have to think about programming for the long term. You have to comprise aspects you don't even know about when starting programming. (That's true not only for Perl.) Don't bother for throw away scripts, but over the time your own code starts to be a bundle of idioms or C&P templates. If you did it wrong you transport wrong approaches all over. Best example for that. You find many Perl documentation where the instantiation is done like
which is not 100% percent correct. When you look at newer questions here in the forum you can find exactly this "wrong" idiom in questions. Why: It's Copy & Paste. That's normal. So, take care that your own C&P templates are as good as possible.
When we are with books: Look at Higher-Order-Perl (http://hop.perl.plover.com/) which is meanwhile for free. I spent money for that years ago and NEVER regret it.