|Think about Loose Coupling|
Mastering Perl 5 is a well-rounded Perl book, 894 pages long, 926 including the index. Although it may sound like a rather long book, you can learn the gist of it in about a weekend if you really had to (I'll explain later). It covers the Perl 5 language thoroughly, and teaches a little bit of CGI as well. Mastering Perl 5 also has a list of the built-in Perl 5 variables and their descriptions right inside the front and back covers, where they can easily be found.
Since this is my first Perl book, I can't rate it based upon my knowledge of Perl. But as far as programming books go, I'd say it's possibly the best programming book I've read (so far) because it simply made sense, and It wasn't so boring.
One important thing is that I like the way the book is put together. The book is divided into 6 parts, each of which are broken down into a few or several chapters. The first chapter of each part is a so-called "Jump-Start" chapter, which is an overview of the upcoming chapters.
These jump-start chapters are more than just summarries, they contain good coverage and practical examples of the programming concepts which will be re-enforced over the next few chapters. If you have proir programming experience and you're a quick enough learner, you can probably learn the Perl language by just reading the first 5 jump-start chapters, and go back to read the chapters that cover the topics that you find youself weak in. Not me, though, I like to read programming books front-to-back.
The last part of the book, which includes 4 chapters, is totally dedicated to Perl programming on Windows. It covers Win32 System Administration, the Registry and Event Log, and Databases (ODBC and SQL).
Something about the book that I noticed, is that some things are repetitive. Wait...this is a good thing because it gets some concepts into your head that you may not get the first one or two times you read it.
Another piece of the book that really stood out was how Herrmann explains the Regular Expression. I think he's done a brilliant job at explaining what makes a regex. In detail, he picks apart the sample regexes and explains how each piece of it works. Now that I know Perl 5 regexes, I am only limited to my own intelligence.
If you're coming from 'C', You can tell that the author has a 'C'-like style, he even made up a simulation of the "switch" structure. You won't pick up much Perl style from the book, but rather the logic of coding in Perl. I guess he leaves the style up to you.
Although I don't exactly feel like a Perl "Master", I found that this book was helpful. For the things that this book didn't teach me (like how to make killer one-liners), I will learn through personal experience, and from hanging around the monastery.
Would I recommend it? Yes, but advanced Perl programming concepts are only towards the end of the book. If you want to be a true Master Jedi Knight at Perl 5, you'd need other books to tackle specific Perl problems. There is no 'One book alone' that can turn you into a master.