Most
of these abilities are independent of the programming language, except
for the last one. If you want to become a master programmer in a
particular language, you need to understand it beyond knowing its
keywords and syntax. You need to have a detailed understanding of how
the different facilities provided by the language and its compiler
work and what their advantages and disadvantages are so you can choose
the best way to approach any given task. Advanced Perl Programming
lives up to its name by providing the tools to move from being a Perl
programmer to being a master Perl programmer.
Most Perl programmers I've worked with use a superficial set of the
language's capabilities, being reluctant to dig into the advanced
features which take Perl 5 beyond scripting and into serious
programming. References and object orientation are a part of the
language which seem to scare a lot of programmers weaned on Perl 4,
but they give Perl the power and flexibility to handle truly complex
applications efficiently. This book covers a variety of the features
of the language which scare the casual Perl programmer, from
references to typeglobs to ties to packages and objects.
But the value of Advanced Perl Programming is that author Sriram
Srinivasam doesn't just explain the features of the language, he
explains them in the context of getting the language to do the
things we need for serious applications. For instance, the first
chapter makes sure you know how references work. The second chapter
then uses that base to explain how to implement complex data
structures, with examples of matrices, records and bit vectors.
After describing the various tools for implementing object
orientation in your Perl programs, Srinivasam discusses different
techniques for storing and retrieving objects using files or
databases.
Later sections of the book explore how to use Perl's features for
such high level work as designing GUI's, template languages, and
networking clients and servers. Srinivasam closes the book with
three chapters whose mastery can make you a true Perl guru, teaching
you the guts of the Perl compiler and how to extend the languages
capabilities by integrating it with other languages like C andC++.
The only major complaint I have about this book is that it's got a
lot of minor errors - there are too many code example with mistakes,
and incorrect statements about how the language works. If you've got
a good working knowledge of Perl you can get around these, since the
overall concepts are handled accurately enough - it's the details
which have problems. These inaccuracies would be likely to confuse
an experienced non-Perl programmer who wants to use this book to
learn how to use Perl for complex projects while learning the language
itself.
A minor complaint is that Advanced Perl Programming rehashes material
from Programming Perl, which is the essential reference for the
language itself. But this rehashing is minimal and generally essential
to the topics covered, especially for someone who learned Perl from
another book.
My end analysis is that this book is one of the few which truly
lives up to the name "Advanced". If you want to use Perl for more
than quick and dirty scripting, that is, if you want to use it for
serious programming projects, the knowledge imparted by this book is
indispensable.