CATALYST(1p)
π CATALYST π
okay bestie, listen up β this is the catalyst.pl page from the User Contributed Perl Documentation, and it's literally your onboarding pass to bootstrapping a whole Catalyst app. slay. let's go π¦
β¨ NAME β¨
catalyst β Bootstrap a Catalyst application π±
β¨ SYNOPSIS β¨
catalyst.pl [options] application-name
catalyst.pl makes you a skeleton for a brand new application, and it also lets you upgrade the skeleton of an app you already have. two jobs, one script, main character energy π
Options:
-forceβ don't create a.newfile where a file to be created already exists π-helpβ show this help and dip out, that's it-makefileβ only updateMakefile.PL-scriptsβ only update the helper scripts
kay so about that application-name β it has to be a valid Perl module name, no exceptions, and yes it can include ::, which gets converted to - in the project name. so cute, so convenient π
Examples:
catalyst.pl My::App
catalyst.pl MyApp
Wanna upgrade your app to a newer version of Catalyst? bestie say less:
catalyst.pl -force -scripts MyApp
β¨ DESCRIPTION β¨
The catalyst.pl script bootstraps a Catalyst application, creating a directory structure that's already populated with skeleton files. it's giving "instant structure, zero effort" β¨
The application name must be a valid Perl module name. the directory it makes is formed from the application name you gave it, with the double colons swapped out for hyphens β so like, for example, the directory for My::App is My-App. iconic conversion, honestly π
Using the example application name My::App, your shiny new application directory will contain these lil guys:
READMEβ a skeleton README file, which you are encouraged to expand on. go off, write your docs πChangesβ a changes file with an initial entry for the creation of the applicationMakefile.PLβ uses theModule::Installsystem for packaging and distribution of the applicationlibβ contains the application module (My/App.pm) and subdirectories for model, view, and controller components (My/App/M,My/App/V, andMy/App/C)rootβ root directory for your web document content. this one is left empty π«scriptβ a directory containing helper scripts:myapp_create.plβ helper script to generate new component modulesmyapp_server.plβ runs the generated application inside a Catalyst test server, which you can use for testing without resorting to a full-blown web server configuration π₯myapp_cgi.plβ runs the generated application as a CGI scriptmyapp_fastcgi.plβ runs the generated application as a FastCGI scriptmyapp_test.plβ runs an action of the generated application straight from the command line
tβ test directory π§ͺ
And the application module that catalyst.pl generates? it's fully functional out of the box, bestie. it just reacts to literally every request by outputting a friendly welcome screen πΈ
β¨ NOTE β¨
okay this part matters, pay attention π
Neither catalyst.pl nor the generated helper script will overwrite existing files. nope. instead, the scripts generate new versions of any existing files, tacking the extension .new onto the filename. and plot twist β the .new file is not created if it would be identical to the existing file. no pointless dupes here, we're efficient π
So what does that mean for you? it means you can re-run the scripts to, for example, see if newer versions of Catalyst or its plugins generate different code, or to see how you may have changed the generated code yourself. (though obviously all your code is in a version control system anyway... right? right? ππ«Ά)
β¨ SEE ALSO β¨
Catalyst::ManualCatalyst::Manual::Intro
go read those, bestie, iykyk π
β¨ AUTHORS β¨
Catalyst Contributors, see Catalyst.pm π
β¨ COPYRIGHT β¨
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself. π
and that's the whole page, bestie!! π this one came to you courtesy of perl v5.40.0, dated 2024-11-15, filed under CATALYST(1p) β¨ go build something iconic, mwah ππ¦
π¦ where this page comes from
- debian trixie: libcatalyst-perl 5.90132-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libcatalyst-perl 5.90132-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libcatalyst-perl 5.90132-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms