http://www.catalystframework.org/

Catalyst is an MVC web framework for Perl. (In layman's terms this means "ITS FOR MAKING THE INTERNET.") It was based on the Maypole framework and can be deployed using FastCGI under several web servers or mod_perl under Apache.

Catalyst is mostly about using existing Perl tools in a manner organized by the Catalyst dispatcher. Catalyst itself consists of

  • A dispatcher that translates URLs into calls to methods on your controller classes
  • An architecture for components, including models and views
  • Bazillions of components that help you use existing Perl tools

This means that unlike Ruby On Rails, there isn't one intrinsic model tool (ActiveRecord) or one intrinsic view tool (erb). Instead, you have your choice of all of the popular tools for those purposes. The tutorial in CPAN gives an example using TT (Template Toolkit) for HTML templates, and DBIx (DBI::Class) for data access. You can use as many or as few as you like, so long as there is a Catalyst plugin that incorporates them.

Catalyst is of interest to Perl nuts because it uses the Object Oriented and metaprogramming features of Perl quite heavily, both internally and externally.

Handy URLs:

  • http://www.catalystframework.org/ - Public web site
  • http://search.cpan.org/dist/Catalyst-Manual/ - Manual on CPAN
  • http://search.cpan.org/dist/Catalyst-Manual/lib/Catalyst/Manual/Plugins.pod - List of components