16 'force|nonew' => \$force,
17 'makefile' => \$makefile,
18 'scripts' => \$scripts,
22 pod2usage(1) if ( $help || !$ARGV[0] );
24 my $helper = Catalyst::Helper->new( {
25 '.newfiles' => !$force,
26 'makefile' => $makefile,
27 'scripts' => $scripts,
30 pod2usage(1) unless $helper->mk_app( $ARGV[0] );
37 catalyst - Bootstrap a Catalyst application
41 catalyst.pl [options] application-name
43 'catalyst.pl' creates a skeleton for a new application, and allows you to
44 upgrade the skeleton of your old application.
47 -force don't create a .new file where a file to be created exists
48 -help display this help and exit
49 -makefile only update Makefile.PL
50 -scripts only update helper scripts
51 -short use short names, M/V/C instead of Model/View/Controller.
53 application-name must be a valid Perl module name and can include "::",
54 which will be converted to '-' in the project name.
61 To upgrade your app to a new version of Catalyst:
62 catalyst.pl -force -scripts MyApp
67 The C<catalyst.pl> script bootstraps a Catalyst application, creating a
68 directory structure populated with skeleton files.
70 The application name must be a valid Perl module name. The name of the
71 directory created is formed from the application name supplied, with double
72 colons replaced with hyphens (so, for example, the directory for C<My::App> is
75 Using the example application name C<My::App>, the application directory will
76 contain the following items:
82 a skeleton README file, which you are encouraged to expand on
86 a changes file with an initial entry for the creation of the application
90 Makefile.PL uses the C<Module::Install> system for packaging and distribution
95 contains the application module (C<My/App.pm>) and
96 subdirectories for model, view, and controller components (C<My/App/M>,
97 C<My/App/V>, and C<My/App/C>).
101 root directory for your web document content. This is left empty.
105 a directory containing helper scripts:
109 =item C<myapp_create.pl>
111 helper script to generate new component modules
113 =item C<myapp_server.pl>
115 runs the generated application within a Catalyst test server, which can be
116 used for testing without resorting to a full-blown web server configuration.
118 =item C<myapp_cgi.pl>
120 runs the generated application as a CGI script
122 =item C<myapp_fastcgi.pl>
124 runs the generated application as a FastCGI script
126 =item C<myapp_test.pl>
128 runs an action of the generated application from the comand line.
139 The application module generated by the C<catalyst.pl> script is functional,
140 although it reacts to all requests by outputting a friendly welcome screen.
145 Neither C<catalyst.pl> nor the generated helper script will overwrite existing
146 files. In fact the scripts will generate new versions of any existing files,
147 adding the extension C<.new> to the filename. The C<.new> file is not created
148 if would be identical to the existing file.
150 This means you can re-run the scripts for example to see if newer versions of
151 Catalyst or its plugins generate different code, or to see how you may have
152 changed the generated code (although you do of course have all your code in a
153 version control system anyway, don't you ...).
159 L<Catalyst::Manual>, L<Catalyst::Manual::Intro>
163 Sebastian Riedel, C<sri@oook.de>,
164 Andrew Ford, C<A.Ford@ford-mason.co.uk>
169 Copyright 2004-2005 Sebastian Riedel. All rights reserved.
171 This library is free software, you can redistribute it and/or modify it under
172 the same terms as Perl itself.