I wrote a review of "Catalyst" by Jonathan Rockway. You can read it (the review, not the book) on my web site.
Executive summary: I didn't like it much.
But much worse: some of the code apparently was not run before the book went to print, and several mistakes leave the reader dead in his tracks.
Page 28 has command line code for creating a database model that simply doesn't work in Windows, but breaks in a very weird way that the debugger doesn't identify directly. (That one was about an hour to figure out. I'm just now learning to use Perl on Windows after using it on Linux for a long time
Page 44 introduces FormBuilder and tries to show how to get a web page that includes a form... but the example doesn't work. No joy; basically produces a blank page.
That makes the rest of p. 44 and all of p. 45 fairly useless, if one can't get the form to show up at all.
Then, after paging through documentation for Catalyst::Controller::FormBuilder, I determine that form.render in the code example should have been FormBuilder.render. That one's not yet in the errata, but I just reported it.
And fortunately I had read the book's online errata before looking at pp. 44 and 45; once the form is finally up and running, several code examples use $c->form->whatever but should use $self->formbuilder->whatever
I thought chapter 2 was a weak beginning; it's an attempt to do a Hello World application, but it contains way too many details that were ambiguous and distracting. Why was the controller named Hello.pm and then a subroutine added to it also named 'hello'? If a controller is named Hello.pm, is that enough to call it up when
I wish somebody with very little web application experience had read the manuscript critically before it was published, and had tried to run all the code. I blame Packt for that, not the author. For an author who is one of the principal developers, it's asking a lot to expect the author to recognize all the details that a newbie is likely to trip up on. The problem with knowing something is that you forget what it's like not to know. That's what makes teaching so hard.
All that being said, I think this book ultimately will work to get me comfortable with Catalyst. There are plenty of chapters ahead of me (I have just finished 3) and I am pleased with Jonathan Rockway's writing style: writing as if he were speaking at the podium with a Powerpoint presentation behind him... like a story. The example applications look to be sophisticated enough to illustrate all the moving parts. And it has me very engaged... perhaps the glitches have had the happy effect of getting me to pay more attention to the subject matter than I would have if the presentation had been as smooth as butter. Still, I'm very disappointed with the show-stopping code mistakes... grrrr.