There's two steps to efficient learning in this area:
- Learning to learn. Grab a general book on the subject, read through it cover to cover. Get a general feel for the language, understand its basic architecture, learn the terminology, remember a few useful functions, and so forth.
- Specifics. What's the best data structure for this problem? What's the most effective way to parse XML? How do I create an array of hashes? What exactly does map do and why does everyone love it?
For number one, dead tree or online books are good. For number two, you can use a reference-style book like Programming Perl (which I think is one of the few excellent Perl books out there) or you can just read the docs and do a few searches. Personally I think Programming Perl is rather well packaged and would save you some time, but either will work well and you'll probably find yourself referring to perldoc every once in a while anyways. So you're not crazy, at least when it comes to this issue :).