Object Oriented Perl by Damian Conway
Copyright 1999 Manning Publications Co.
Excellent book. 5 stars out of 5.
Who should be interested in this book?
I picked up Object Oriented Perl at the 1999 Perl Conference and immediately fell in love with it.
Damian Conway, a lecturer at Monash University in Australia, brought all his formidable teaching skills to bear when writing this book. It's probably the most entertaining and readable technical book I've ever come across.
And, better yet, the technical content is excellent. The book starts with a gentle introduction to object oriented programming in general, and quickly progresses to objects in Perl, where you learn that any Perl datatype can be used as an object. Even regular expressions, filehandles, or entire typeglobs! Inheritance and polymorphism are then explained with a clarity that should be the goal of OOP authors everywhere..
After covering the basics, Dr. Conway progresses into more advanced subjects, such as operator overloading, the tie mechanism, multiple dispatch, and object persistence. Given that my exposure to OOP had been minimal up to buying this book, I really expected to get lost in the more advanced material, but the presentation was so clear and the examples so good that I hardly even had to reread any of the advanced material. The information just made sense.
Finally, as icing on the cake, Dr. Conway includes an appendix titled, "What you may know instead". In these pages, readers familiar with Java, C++, Smalltalk, or Eiffel will find a conversion chart of sorts to translate their terms into Perl terms.
Of course, the real test of any technical book is the quality of the example code. I am happy to say that the examples in Object Oriented Perl are as clear and correct as you could hope for in any book. And, to his great credit, Dr. Conway broke with tradition by providing examples that DON'T deal with Person, Employee, and Manager classes. Dr. Conway chose instead to use an example near and dear to the hearts of all civilized people -- organizing his CD collection.
In summary, if you're already comfortable with Perl and are looking to stretch your wings, you should pick up a copy of Object Oriented Perl. Excellent information presented by a natural teacher.