Mojolic...Commands(3)
okay bestie, welcome to Mojolic...Commands(3) from the User Contributed Perl Documentation β itβs the command-line interface page and itβs giving very main-character CLI energy. π
β¨
πΈ NAME πΈ
Mojolicious::Commands β Command line interface. Thatβs the whole vibe: itβs the CLI side of Mojolicious, and itβs here to make your terminal feel iconic. π
β¨ SYNOPSIS β¨
hereβs the exact usage block, bestie β copy it, donβt improvise it:
Usage: APPLICATION COMMAND [OPTIONS]
mojo version
mojo generate lite-app
./myapp.pl daemon -m production -l http://*:8080
./myapp.pl get /foo
./myapp.pl routes -v
Tip: CGI and PSGI environments can be automatically detected very often and
work without commands.
Options (for all commands):
-h, --help Get more information on a specific command
--home <path> Path to home directory of your application, defaults to
the value of MOJO_HOME or auto-detection
-m, --mode <name> Operating mode for your application, defaults to the
value of MOJO_MODE/PLACK_ENV or "development"
π¦ DESCRIPTION π¦
okay so Mojolicious::Commands is literally the interactive command line interface for the Mojolicious framework. It automatically detects the available commands in the Mojolicious::Command and Mojolicious::Command::Author namespaces. no cap, it just finds them. π«Ά
π COMMANDS π
These commands are available by default, bestie. go off. π
π cgi
$ ./myapp.pl cgi
Use Mojolicious::Command::cgi to start the application with the CGI backend β usually auto detected. β¨
π cpanify
$ mojo cpanify -u sri -p secr3t Mojolicious-Plugin-Fun-0.1.tar.gz
Use Mojolicious::Command::Author::cpanify for uploading files to CPAN. very author-core. π
π daemon
$ ./myapp.pl daemon
Use Mojolicious::Command::daemon to start the application with the standalone HTTP and WebSocket server. π
π eval
$ ./myapp.pl eval 'say app->home'
Use Mojolicious::Command::eval to run code against the application. yes, code, right there. π§
π generate
$ mojo generate
$ mojo generate help
$ ./myapp.pl generate help
List available generator commands with short descriptions. cute little menu energy.
$ mojo generate help <generator>
$ ./myapp.pl generate help <generator>
List available options for a generator command with short descriptions. iykyk. π
π generate app
$ mojo generate app <AppName>
Use Mojolicious::Command::Author::generate::app to generate the application directory structure for a fully functional Mojolicious application. periodt. π
π generate dockerfile
$ ./myapp.pl generate dockerfile
$ ./script/my_app generate dockerfile
Use Mojolicious::Command::Author::generate::dockerfile to generate "Dockerfile" for the application. π³β¨
π generate lite-app
$ mojo generate lite-app
Use Mojolicious::Command::Author::generate::lite_app to generate a fully functional Mojolicious::Lite application. slay. π
π generate makefile
$ mojo generate makefile
$ ./myapp.pl generate makefile
Use Mojolicious::Command::Author::generate::makefile to generate the "Makefile.PL" file for the application. π
π generate plugin
$ mojo generate plugin <PluginName>
Use Mojolicious::Command::Author::generate::plugin to generate the directory structure for a fully functional Mojolicious plugin. plugin main character energy. π
π get
$ mojo get https://mojolicious.org
$ ./myapp.pl get /foo
Use Mojolicious::Command::get to perform requests to a remote host or a local application. π¦
π help
$ mojo
$ mojo help
$ ./myapp.pl help
List available commands with short descriptions. the classic.
$ mojo help <command>
$ ./myapp.pl help <command>
List available options for the command with short descriptions. helpful and iconic. π
π inflate
$ ./myapp.pl inflate
Use Mojolicious::Command::Author::inflate to turn templates and static files embedded in the "DATA" sections of your application into real files. real files, real vibes. πΈ
π prefork
$ ./myapp.pl prefork
Use Mojolicious::Command::prefork to start the application with the standalone pre-forking HTTP and WebSocket server. π₯
π psgi
$ ./myapp.pl psgi
Use Mojolicious::Command::psgi to start the application with the PSGI backend β usually auto detected. β¨
π routes
$ ./myapp.pl routes
Use Mojolicious::Command::routes to list application routes. route reveal. πΊοΈ
π version
$ mojo version
$ ./myapp.pl version
Use Mojolicious::Command::version to show version information for available core and optional modules β very useful for debugging. ngl, debugging MVP. π«Ά
π ATTRIBUTES π
Mojolicious::Commands inherits all attributes from Mojolicious::Command and implements the following new ones. okay bestie, hereβs the new stuff:
π hint
my $hint = $commands->hint;
$commands = $commands->hint('Foo');
Short hint shown after listing available commands. a little wink after the menu. π
π message
my $msg = $commands->message;
$commands = $commands->message('Hello World!');
Short usage message shown before listing available commands. a little hello before the menu. π
π namespaces
my $namespaces = $commands->namespaces;
$commands = $commands->namespaces(['MyApp::Command']);
Namespaces to load commands from β defaults to Mojolicious::Command::Author and Mojolicious::Command. you can add more, no cap:
# Add another namespace to load commands from
push @{$commands->namespaces}, 'MyApp::Command';
π₯ METHODS π₯
Mojolicious::Commands inherits all methods from Mojolicious::Command and implements the following new ones. methods era. π
π detect
my $env = $commands->detect;
Try to detect environment, or return undef if none could be detected. if it canβt tell, it says so. π
π run
$commands->run;
$commands->run(@ARGV);
Load and run commands. Automatic deployment environment detection can be disabled with the MOJO_NO_DETECT environment variable. important little switch, bestie. β οΈ
π start_app
Mojolicious::Commands->start_app('MyApp');
Mojolicious::Commands->start_app(MyApp => @ARGV);
Load the application from a class and start the command line interface for it. heads up: the options -h/--help, --home, and -m/--mode, which are shared by all commands, will be parsed from @ARGV during compile time. yes, compile time. stay woke. π
# Always start daemon for application
Mojolicious::Commands->start_app('MyApp', 'daemon', '-l', 'http://*:8080');
π SEE ALSO π
Mojolicious, Mojolicious::Guides, and <https://mojolicious.org>.
mwah π β this page is from perl v5.42.0, dated 2026-07-15, and the footer says Mojolic...Commands(3). bye bestie, go slay some commands! β¨π
π¦ where this page comes from
- opensuse-leap 16.0: perl-Mojolicious 9.480.0-bp160.2.1 Β· Artistic-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms