Perl MVC web application framework (original) (raw)

What is Catalyst?

Catalyst is an open-source Perl MVC web framework that encourages rapid development and clean design without getting in your way by forcing rules.

We tend to keep things small and simple. This gives us robustness and scalability - your Catalyst-based app also inherits those. No complicated object hierarchies.

Why reinvent the wheel? When you write your app with Catalyst, you don't have to care much about session handling or authorization. You just use it. CPAN has a vast amount of power, which we bring to you. If you don't like something in default setup, why not replace it? There Is More Than One Way To Do It. You can choose from a wealth of available models and views, drop in a bunch of plugins and create the setup that fits you best.

Many high-profile sites like the BBC iPlayer, 123people, magazines.com and urbia.de are already using Catalyst. Check out some other sites which are using Catalyst.

Why Catalyst?

Versatile Models

Use a powerful database ORM like DBIx::Class for your model, plain old DBI or even LDAP - Catalyst supports awide range of models.

Flexible Views

Use whatever templating language you like best: Template::Toolkit, Mason 2, HTML::Template and many more are fully supported.

Integrated Development server

Catalyst comes with its own lightweight test server for development. It automatically restarts when your sources have changed, so you get instant results!

Works with all major webservers

Catalyst 5.9 has native PSGI/Plack support which makes deployment for most webservers a no-brainer. Plus, there are loads of engines targeting specific servers/protocols like Apache/mod_perl or FastCGI.

Ready-to-use plugins

Don't re-invent the wheel! Use well-tested plug-ins for session management, user authentication, caching andmuch more.

How do I get started?

  1. Quick Install Guide

For more details and other platforms read the extended Installing Catalyst guide. 2. ### Tutorial
Learn how to build your first complete Catalyst application with all the nuts'n'bolts of modern web applications.

Get the book

The Definitive Guide to Catalyst

The Definitive Guide to Catalyst book

This book by Kieren Diment, Matt Trout and other core Catalyst developers, published by Apress is now available for purchase from Amazon.com, or get the eBook (PDF) from Apress.

Quick install guide

Why a fresh Perl installation is a good idea: Having your own Perl interpreter in addition to the one provided by your system is generally a good idea because upgrading your system does not affect your development/production Perl installation and libraries. Plus, you will get the latest and greatest Perl version to work with.

1. Install Perl

This guide shows you how to install the latest stable Perl version for different platforms alongside invaluable tools like local::lib (which allows the installation of CPAN modules like Catalyst without the need for root privileges) and the excellent cpanm installer.

2. Install Catalyst

Run the following command to install Catalyst using cpanm:

cpanm Catalyst::Devel

Solution #2: With an already installed Perl

If you haven't installed cpanm and local::lib yet, run the following command as an unprivileged (i.e. non-root) user to get everything up and running:

curl -L cpanmin.us | perl - -l $HOME/perl5 App::cpanminus local::lib Catalyst::Devel

This installs cpanm, local::lib and of course Catalyst into your home directory.

If you already have cpanm installed, it's just a matter of:

cpanm Catalyst::Devel

Detailed installation instructions

You can find more in-depth information about possible ways to install Catalyst on various platforms in theInstalling Catalyst guide.

If you have any questions regarding the installation do not hesitate to swing by our IRC channel or send a mail to the Catalyst mailing list.

Done ... Now what?

Head on over to the tutorial to get started.

You'll find more sites using Catalyst in the Catalyst wiki.