- Use promo code PRIMEBOOKS18 to save $5.00 when you spend $20.00 or more on Books offered by Amazon.com. Enter code PRIMEBOOKS18 at checkout. Here's how (restrictions apply)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
The Definitive Guide to Catalyst: Writing Extensible, Scalable and Maintainable Perl-Based Web Applications 1st ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
See the Best Books of 2018 So Far
Looking for something great to read? Browse our editors' picks for the best books of the year so far in fiction, nonfiction, mysteries, children's books, and much more.
Special offers and product promotions
About the Author
Kieren Diment is a social researcher in the School of Management and Marketing, University of Wollongong, Australia, where he uses Catalyst for the collection analysis and presentation of research data. He has taken the lead in a significant portion of the Catalyst documentation including the Catalyst Advent Calendar in 2006 and 2007. His focus has been on ensuring a culture of documentation by example in the project, and ensuring that instructional documentation points to working example code wherever possible.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
After spending a couple of days with Catalyst, I decided that it would be difficult to develop and document with an existing code base. I am fighting with about 80K lines of code written over a ten year period. I needed to develop a framework to allow the code to grow with demands on the system. I did not feel comfortable that I could use Catalyst around the existing code and to build a framework for the long run. I feel much more comfortable building a solid class structure that I can add incrementally to the existing code and take the code to the next level. So, I am back to some of the more basic CPAN packages and am focusing on good design.
I was hoping this book would act as a reference manual so that I could get a view of the internals and functionality. However, it does not seem to be organized in such a way. That being the case, I suggest that you check out the tutorials online to make a decision if you want to use Catalyst. If you decide on Catalyst this book's tutorial style, you will find it is a good book that provides solid examples, good design methods, information on databases and lots of basic software design discussion and comments on style.
Unfortunately, I found this guide a disappointment as well. Most of the book seems to be structured around a few "examples," the largest of which is a translation app from English into "Lolcat." The problem with such an app as an example is that it could readily be done in a dead-simple, several-line CGI script (hell, even a one-liner could probably do it), so it requires a certain suspension of disbelief that one should be using stashes, chained dispatch methods, templates, and the like. Why not a normal CRUD type app as an example? Boring, yes, but to-the-point and more likely to be illustrative of the tools and their best applications.
The conversational "flow" of the book is distracting, as well. I understand that a more tabular or outlined form for making specific information easier to find could render it hard to read "straight through" as a book. But the sheer volume of information, and diversity of scenarios, make it unlikely that anyone will read it straight through and make equal use of all parts. Far better to organize the content more rigorously by function -- for example, the best and best-structured chapter by far is the chapter on dispatch (it gets to borrow for its prose structure from the flow chart on page 168. Less in-depth meanderings into such adjuncts as DBIx::Class and Moose, but more on how (if at all) such outside modules must interface / play nice with the Catalyst core. A chapter on errors. A chapter on logging. A chapter on templating.
The index is a mess and lazily put together. Under "log", only one entry: "Logging, in Catalyst, 7." (Are you serious? who wrote that index entry? Logging, comma, IN CATALYST?!? SERIOUSLY??) For "error:" "error handling code, changing to output errors to the log, 104-105." Nothing for "exception" (fair enough, as Perl properly has none), but under Perl's equivalent, "die:" "die, using for error handling, 156." WTF? Finding these three sections shouldn't be an Easter-egg hunt. WTF would be wrong with:
using "die" ... 156
logging ... 104-105
see also *log*
log ... 7
errors ... 104-105
I'm rooting for Matt & co., and I'm a fan of Catalyst. But this book needs a reworking for its next edition, and it needs an editor (the typography, too, is underwhelming). It's not that the team that wrote this isn't smart enough, or that they don't know the subject well enough. It's merely that they need to structure, structure, structure, and clarify, clarify, clarify. Looking forward to second edition, guys.
Perl 5 core has been stable for quite some time. However modules and usage have evolved. Even if you don't plan to use Catalyst, read this book for the peripheral knowledge the book pulls in.
For example, I was pleasantly surprised to see nginx mentioned as a potential Web server to use. This to me meant that the book is not a quick job done by an author gathering materials over the web, but a labor of love written by somebody who has hands on experience with the modern Web.