My Catalyst book is out and is beginning to appear in the hands of fellow Catalyst users! You can buy it from Amazon and local book stores, but it looks like the publisher (Packt) has the best price right now.
Basically, this book covers getting started with Catalyst. The goal is to take you from "what's MVC?" to being able to write complete web applications with Catalyst. We'll build a few complete applications including an address book, a mini-blog, and ChatStat (which is basically Ircxory but with a Template Toolkit interface instead of one built with Template::Declare).
Along the way you'll learn all about Catalyst, DBIx::Class, and the Template Toolkit. I cover REST interfaces, AJAX (with Jemplate), RSS, testing, deployment, and more. The book is very hands-on oriented; I usually explain what sort of code I want to write, write the code, and then explain what the code does. If necessary, we look at theoretical examples of when related features would be useful, and then move on to the next piece of code.
The full PR blurb is on the book's website, so please take a look.
Here's the template.el template I use for
# Copyright (c) (>>>YEAR<<<) Jonathan Rockway <email@example.com>
(let ((filename (buffer-file-name)))
(if (string-match "lib/\\(.+\\)[.]pm$" filename)
(let ((mod (match-string 1 filename)))
(while (string-match "/" mod)
(setq mod (replace-match "::" nil nil mod)))
(if (string-match "\\([^/]+\\)[.]pm$" filename)
(match-string 1 filename)
The nice part is that it knows what the name of your module is. If you C-x C-f lib/Foo/Bar/Baz.pm, then the package declaration at the top will say Foo::Bar::Baz (and will auto-create lib/Foo/Bar for you). I've been using this for a few months and realized that it's too convenient to keep to myself
Planet Catalyst is now bilingual!
I've been noticing that a lot of Japanese bloggers have been blogging about Catalyst, so I asked jwang++ to set up a Japanese language Planet Catalyst. The result is here:
This is in addition to the English version at:
Even if you don't read Japanese, you might find the code examples intriguing. If you find something that looks particularly interesting, I'll translate it and post it (with the permission of the original author).
Finally, if you'd like to have your blog included, please let us know (#catalyst-dev on irc.perl.org).
Thanks to all the contributing bloggers!