The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME - Bootstrap a Catalyst application example

SYNOPSIS [options]

   -help       display this help and exits
   -nonew      don't create a .new file where a file to be created exists
   -scripts    update helper scripts only
   -short      use short types, like C instead of Controller...
   -name       application-name
   -dsn        dsn
   -user       database user
   -password   database password

 application-name must be a valid Perl module name and can include "::"

 Examples: -name=My::App -dsn='dbi:Pg:dbname=CE' -user=zby -password='pass'


The script bootstraps a Catalyst application example, 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 Module::Build build script


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


an old-style MakeMaker script. Catalyst uses the Module::Build system so this script actually generates a Makeifle that invokes the Build script.


contains the application module (My/ 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 comand line.


test directory

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


Neither 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::Manual, Catalyst::Manual::Intro


Sebastian Riedel,, Andrew Ford, Zbigniew Lukasiak, zz bb - modifications Jonathan Manning


Copyright 2004-2005 Sebastian Riedel. All rights reserved.

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.