catalyst - 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.
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
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
- 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
- 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
- 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
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 ...).
Catalyst Contributors, see Catalyst.pm
This library is free software, you can redistribute it and/or modify it under
the same terms as Perl itself.