This book resembles the "Effective C++" series, in quite
an intentional manner, it seems (the title, the numbered
"items", the assertive titles of the items, etc). Therefore,
it's quite difficult for me not to compare it to Scott Myers'
books.
But this comparison makes me a little dissapointed, feeling
that my hopes were not fulfilled. The "Effective C++" is a
very advanced series of books, aiming mainly at expert C++
programmers. Newbies have nothing to find in them - they won't
understand the problems Myers is trying to solve, and they
won't understand the solutions. The items are very in-depth
and dive into the most complicated aspects of C++.
So I was hoping for the same with "Effective Perl", but what
I got was rather a beginner - early midlevel book. Some of the
items in this book were covered in "Learning Perl" - the first
and most basic Perl book of them all.
This is probably
a compliment to the Perl language - when two renown Perl gurus
(Hall & Schwartz) try to write an "Effective C++" style book
for Perl they just don't find topics complicated enough to
explain. Truly, advanced C++ is much, much more complex than
Perl (if you don't believe me, read "Modern C++ design").
"Effective Perl" is rather a very nice "intermediate level"
book. It's good for newbies who've already read the basic material
and coded some small Perl programs. The newbie programmer (one
that's new to programming in general, not specifically Perl) will
also enjoy an insight into the logical and modular stream of thought
gurus use to analyze and design solutions to programming problems.
In this domain it competes
fairly with other mid-level "tips & techniques" Perl books like
Perl Medic.
The book is written in a light and entertaining style that is
easy to understand. Examples are numerous and easy to follow.
So, if you are a beginning Perl programmer yearning to inhale
some "guru air", this is a good book for you. If you're a seasoned
Perl hacker looking for advanced material to grind, look elsewhere.
P.S: It's nice to see some book finally including an overview
of (s)printf flags - my usual source of information for this
is the MSDN. But this appendix could be made more complete, I think.
A more thorough synopsis of the various specifiers, with a few
simple examples for demonstration would be great.