Techniques and tricks to master basic and advanced OO Perl for programmers who already have basic to intermediate skills in procedural Perl.
The most notable thing about Object Oriented Perl is Conway's excellent perspective on object-oriented concepts and how they are implemented in Perl. This book does a remarkable job of cutting through traditional jargon and illustrating how basic object-oriented design techniques are handled in Perl. (A useful appendix attests to the author's wide-ranging knowledge, with a comparison of Smalltalk, Eiffel, C++, and Java with Perl, including a summary of object-oriented syntax for each.) This book also features a truly excellent review of basic Perl syntax.
Throughout this text, the author shows you the basics of solid object design (illustrated using classes that model music CDs). Basic concepts like inheritance and polymorphism get thorough and clear coverage. The book also points out common mistakes and provides many tips for navigating the powerful and flexible (yet sometimes tricky) nuances of using Perl objects. For instance, Conway shows how to achieve true data encapsulation in Perl (which generally allows calls across modules) as well as its natural support for generic programming techniques.
He also pays special attention to popular object modules available from CPAN (like Class::MethodmakerK, which simplifies declaring classes) and discusses performance issues and the tradeoff between programming convenience and speed often faced by today's Perl developer. Advanced chapters cover a number of techniques for adding persistence and invoking methods using multiple dispatching.
Filled with syntactic tips and tricks, Object Oriented Perl is a sure bet for any programmer who wants to learn how to use Perl objects effectively. --Richard Dragan
Topics covered: Perl language review, CPAN, Perl objects, 'blessing' and inheritance, polymorphism, Class::Struct and Class::Methodmaker modules, Perl ties and closures, operator overloading, encapsulation, multiple dispatch, Class::Multimethods, coarse-grained and fine-grained object persistence techniques, performance issues.
The author has a very methodical way of introducing concepts and overall has done a very good job. What seems like easy flow as far as the reader is concerned was probably a lot of hard work on his part.
The wry humor in the book alone is worth the money.
I am still unable to take the plethora of my perl scripts and modularize them but that is not the author's fault.
Compare this book with " Learning Perl Objects, References & Modules By Randal L. Schwartz". This does a much better exposition.
For those like me who are forced to write Perl against their will, this book is a must-have. In contrast to some other Perl books out there, this one doesn't get into cutesy terminology like calling things 'spaceship operator' or similar uses of sloppy informal language.
I don't recall what caused me to buy this book; perhaps it was the only Perl OO book. I am so glad I did, because the amount of info that the author has put into this book is amazing. Not just that, it's the *choices* he made, of what to explain. He's picked all the pieces that the other books glossed over, and examined the missing pieces, so that I now understand the"why" behind many oddities, and I now can push myself much farther forward.
Sort of like, the other books pose the questions, this book answers them.
If you only buy 2 Perl books, make this one of them. Ignore the fact that the title says OO. Yes, it does a great job of explaining how the OO features mechanically work, but the reason to buy this book is all the extra backgrounder info that's in this, it's worth twice what they're asking for. The data often has nothing to do with the OO features, he's probably remembering all the details that HE had to go run down, and he's giving us all these data pearls (pun intended) for free, along with the payment for the OO data.
Don't buy this book to learn object-oriented programming, but if you want to learn how Perl manages to add OO features, and accidentally learn how Perl adds in a great many other features, then you're in the right place.