Perl is the language with the highest occurrence of "subtle" and "ambiguous" in its documentation and tutorials that I have ever seen. Humans may be subtle and ambiguous, but programming languages should be clear and precise.
Here's the book I've been using: http://bixsolutions.net/
* chromatic's "Modern Perl" - which has a free CC licenced version (although it would be nice for you to pay some money to support the good work of the author and publisher ;-) http://www.onyxneon.com/books/modern_perl/index.html
* Curtis Poe's "Beginning Perl" http://ofps.oreilly.com/titles/9781118013847/
(Bias warning: Curtis is a mate - but it is a very good book on the topic. Honest ;-)
As for learning Perl, the best resource is http://perl-tutorial.org
You will find an explanation there of how to judge a learning resource and a list of the most current texts that teach modern Perl.
Please stop repeating this misconception. People who put little effort into learning how to program write "write-once" code in any language. Perl had the "misfortune" of being the only dynamic language on the block for a long time, leading to many people reaching for it to get things done without bothering to actually learn the language, thus creating a vast corpus of low quality code.
(It does not help that the definitive resource of Perl for bioinformatics people, which i've seen in libraries like those of the Genome Campus in Cambridge, isn't worthy of being used as toilet paper, yet influenced a whole generation of scientists.)
> I've spent far too many hours trying to figure out what a perl script does
How often do you reach for perltidy when you do this?