7 eval " use Catalyst::Devel 1.0; ";
11 To use the Catalyst development tools including catalyst.pl and the
12 generated script/myapp_create.pl you need Catalyst::Helper, which is
13 part of the Catalyst-Devel distribution. Please install this via a
14 vendor package or by running one of -
16 perl -MCPAN -e 'install Catalyst::Devel'
17 perl -MCPANPLUS -e 'install Catalyst::Devel'
32 'force|nonew' => \$force,
33 'makefile' => \$makefile,
34 'scripts' => \$scripts,
37 pod2usage(1) if ( $help || !$ARGV[0] );
39 my $helper = Catalyst::Helper->new(
41 '.newfiles' => !$force,
42 'makefile' => $makefile,
43 'scripts' => $scripts,
47 # Pass $ARGV[0] for compatibility with old ::Devel
48 pod2usage(1) unless $helper->mk_app( $ARGV[0] );
55 catalyst - Bootstrap a Catalyst application
59 catalyst.pl [options] application-name
61 'catalyst.pl' creates a skeleton for a new application, and allows you to
62 upgrade the skeleton of your old application.
65 -force don't create a .new file where a file to be created exists
66 -help display this help and exit
67 -makefile only update Makefile.PL
68 -scripts only update helper scripts
70 application-name must be a valid Perl module name and can include "::",
71 which will be converted to '-' in the project name.
78 To upgrade your app to a new version of Catalyst:
79 catalyst.pl -force -scripts MyApp
84 The C<catalyst.pl> script bootstraps a Catalyst application, creating a
85 directory structure populated with skeleton files.
87 The application name must be a valid Perl module name. The name of the
88 directory created is formed from the application name supplied, with double
89 colons replaced with hyphens (so, for example, the directory for C<My::App> is
92 Using the example application name C<My::App>, the application directory will
93 contain the following items:
99 a skeleton README file, which you are encouraged to expand on
103 a changes file with an initial entry for the creation of the application
107 Makefile.PL uses the C<Module::Install> system for packaging and distribution
112 contains the application module (C<My/App.pm>) and
113 subdirectories for model, view, and controller components (C<My/App/M>,
114 C<My/App/V>, and C<My/App/C>).
118 root directory for your web document content. This is left empty.
122 a directory containing helper scripts:
126 =item C<myapp_create.pl>
128 helper script to generate new component modules
130 =item C<myapp_server.pl>
132 runs the generated application within a Catalyst test server, which can be
133 used for testing without resorting to a full-blown web server configuration.
135 =item C<myapp_cgi.pl>
137 runs the generated application as a CGI script
139 =item C<myapp_fastcgi.pl>
141 runs the generated application as a FastCGI script
143 =item C<myapp_test.pl>
145 runs an action of the generated application from the comand line.
155 The application module generated by the C<catalyst.pl> script is functional,
156 although it reacts to all requests by outputting a friendly welcome screen.
160 Neither C<catalyst.pl> nor the generated helper script will overwrite existing
161 files. In fact the scripts will generate new versions of any existing files,
162 adding the extension C<.new> to the filename. The C<.new> file is not created
163 if would be identical to the existing file.
165 This means you can re-run the scripts for example to see if newer versions of
166 Catalyst or its plugins generate different code, or to see how you may have
167 changed the generated code (although you do of course have all your code in a
168 version control system anyway, don't you ...).
172 L<Catalyst::Manual>, L<Catalyst::Manual::Intro>
176 Catalyst Contributors, see Catalyst.pm
180 This library is free software, you can redistribute it and/or modify it under
181 the same terms as Perl itself.