Hardcore Perl programmers tend to be an audacious bunch. Damian Conway--a superstar and innovator among Perl coders--takes on the audacious task of calling to arms his fellow programmers with a battle cry of "We can do better!". Perl is a complex and highly flexible language that eschews the "one way to do it" philosophy found in other languages. However, Perl provides plenty of digital rope to hang ones self with--especially for coders new to the language. Perl code can be overtly terse or roundabout obfuscated depending on the coder's style, mood, or personal peccadillos. It is for the aforementioned reasons that Perl detractors often refer to Perl as extended "line noise". Perl Best Practices (PBP) tries to address these issues by providing a blueprint for coders to follow in many areas of coding the language. Practices are provided to the reader in soluble form: stated as a Commandment, followed with examples, and supported by logic and reasoning for the practice's existence. Practices range from common sense (Code in paragraphs) to philosophical (If you must rely on cleverness, encapsulate it.). While I do not agree with the author on every single practice--some incredulity is healthy whenever someone is telling you what to do!--I found more than enough information worth retaining in the book to warrant it's cover price. If you are a more-than-casual Perl coder, get this book and read it front to back.
This is a fantastic book that helps address many of the things that are negative about working with Perl in teams. Even through just beginning to standardize on a few of these principles, our group is sharing more code and spending less time discussing pros and cons of various approaches. In addition to the 'encoded practices' aspect of this book, the other 'win' is that it has some nice patterns and idioms for doing common things, and doing them well -- instead of gradually learning those things for yourself over time.
This 517 book is the most damning evidence I could possibly present that Perl is deeply, deeply flawed at every level. Brilliant and trailblazing, but just absolutely a train wreck. Just turn to any page and see what you have to do to accomplish common tasks. Insane. I still use it, 'cause Perl 5 is still ROCK SOLID and installed everywhere in 2022. You should not learn Perl, but if you do, this is a great way to learn how to do it properly. Awful. Is this book out of date? Absolutely. The whole thing is out of date. Terrible, but STILL better than trying to figure out how to install Python dependencies. Highly recommended. :wq
This book is a masterpiece! I think that it should be considered a must-read for anyone who will develop Perl applications. The author has deep understanding of Perl's under-the-hood. The book also contains "simplest scenario code" snapshots/samples (real ones, not theoretical examples) which explain each point in its depth, and these samples are well explained and very well compared to code snapshots of bad practices (Bad practices are also highlighted in the book, wow!) ... So as a small review, I'll start first with a minor weakness point of this book, that there are some few chapters that are really boring, especially those which are very primitive. But, in real life, you find that what you are considering very primitive isn't adopted by many developers; so this explains why the author highlights these points which I consider very primitive. If you are not a beginner developer, just skip these primitive chapters, else please read them carefully, this will enhance maintainability, scalability, efficiency and performance of your code ... On the other hand, one of the greatest advantages of this book is that more than 30% of what is written in it can be applied to any programming language as best practices, i.e. most of best practices are valid for any language ... I cannot say that it's worth reading, I think it's a must-read book.
Perl Best Practices, by Damian Conway. Really worthwhile reference. I read it through on Safari; I think I'll have to acquire a personal copy. And it goes right along with...