Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

jrockway (7171)

  (email not shown publicly)

Technorati Profile []

Journal of jrockway (7171)

Sunday December 16, 2007
03:37 AM

Catalyst book is out!

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.

Wednesday August 15, 2007
01:58 AM

perl buzz

Looks like Andy Lester has started his own version of use.perl at
Thursday May 10, 2007
03:17 PM

emacs template for perl modules

Here's the template.el template I use for .pm files:

# Copyright (c) (>>>YEAR<<<) Jonathan Rockway <>

package (>>>PACKAGE_NAME<<<);
use strict;
use warnings;
("PACKAGE_NAME" (insert-string
(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/, 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 :)

Sunday October 22, 2006
01:11 AM

Planet Catalyst in Japanese

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

Thanks to all the contributing bloggers!