Your company here — click to reach over 10,000 unique daily visitors

catalyst.pl - Man Page

Bootstrap a Catalyst application


catalyst.pl [options] application-name

'catalyst.pl' creates a skeleton for a new application, and allows you to upgrade the skeleton of your old application.

   -force      don't create a .new file where a file to be created exists
   -help       display this help and exit
   -makefile   only update Makefile.PL
   -scripts    only update helper scripts

 application-name must be a valid Perl module name and can include "::", 
 which will be converted to '-' in the project name.

    catalyst.pl My::App
    catalyst.pl MyApp

 To upgrade your app to a new version of Catalyst:
    catalyst.pl -force -scripts MyApp


The catalyst.pl script bootstraps a Catalyst application, creating a directory structure populated with skeleton files.

The application name must be a valid Perl module name.  The name of the directory created is formed from the application name supplied, with double colons replaced with hyphens (so, for example, the directory for My::App is My-App).

Using the example application name My::App, the application directory will contain the following items:


a skeleton README file, which you are encouraged to expand on


a changes file with an initial entry for the creation of the application


Makefile.PL uses the Module::Install system for packaging and distribution of the application.


contains the application module (My/App.pm) and subdirectories for model, view, and controller components (My/App/M, My/App/V, and My/App/C).


root directory for your web document content.  This is left empty.


a directory containing helper scripts:


helper script to generate new component modules


runs the generated application within a Catalyst test server, which can be used for testing without resorting to a full-blown web server configuration.


runs the generated application as a CGI script


runs the generated application as a FastCGI script


runs an action of the generated application from the command line.


test directory

The application module generated by the catalyst.pl script is functional, although it reacts to all requests by outputting a friendly welcome screen.


Neither catalyst.pl nor the generated helper script will overwrite existing files.  In fact the scripts will generate new versions of any existing files, adding the extension .new to the filename.  The .new file is not created if would be identical to the existing file.

This means you can re-run the scripts for example to see if newer versions of Catalyst or its plugins generate different code, or to see how you may have changed the generated code (although you do of course have all your code in a version control system anyway, don't you ...).

See Also

Catalyst::Manual, Catalyst::Manual::Intro


Catalyst Contributors, see Catalyst.pm


2024-01-25 perl v5.40.0 User Contributed Perl Documentation