Mojolicious::Commands - Command line interface
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"
Mojolicious::Commands is the interactive command line interface for the Mojolicious framework. It will automatically detect available commands in the Mojolicious::Command namespace.
Mojolicious::Command
These commands are available by default.
$ ./myapp.pl cgi
Use Mojolicious::Command::cgi to start application with CGI backend, usually auto detected.
$ mojo cpanify -u sri -p secr3t Mojolicious-Plugin-Fun-0.1.tar.gz
Use Mojolicious::Command::cpanify for uploading files to CPAN.
$ ./myapp.pl daemon
Use Mojolicious::Command::daemon to start application with standalone HTTP and WebSocket server.
$ ./myapp.pl eval 'say app->home'
Use Mojolicious::Command::eval to run code against application.
$ mojo generate $ mojo generate help $ ./myapp.pl generate help
List available generator commands with short descriptions.
$ mojo generate help <generator> $ ./myapp.pl generate help <generator>
List available options for generator command with short descriptions.
$ mojo generate app <AppName>
Use Mojolicious::Command::generate::app to generate application directory structure for a fully functional Mojolicious application.
$ mojo generate lite_app
Use Mojolicious::Command::generate::lite_app to generate a fully functional Mojolicious::Lite application.
$ mojo generate makefile $ ./myapp.pl generate makefile
Use Mojolicious::Command::generate::makefile to generate Makefile.PL file for application.
Makefile.PL
$ mojo generate plugin <PluginName>
Use Mojolicious::Command::generate::plugin to generate directory structure for a fully functional Mojolicious plugin.
$ mojo get http://mojolicio.us $ ./myapp.pl get /foo
Use Mojolicious::Command::get to perform requests to remote host or local application.
$ mojo $ mojo help $ ./myapp.pl help
List available commands with short descriptions.
$ mojo help <command> $ ./myapp.pl help <command>
List available options for the command with short descriptions.
$ ./myapp.pl inflate
Use Mojolicious::Command::inflate to turn templates and static files embedded in the DATA sections of your application into real files.
DATA
$ ./myapp.pl prefork
Use Mojolicious::Command::prefork to start application with standalone preforking HTTP and WebSocket server.
$ ./myapp.pl psgi
Use Mojolicious::Command::psgi to start application with PSGI backend, usually auto detected.
$ ./myapp.pl routes
Use Mojolicious::Command::routes to list application routes.
$ ./myapp.pl test $ ./myapp.pl test t/fun.t
Use Mojolicious::Command::test to run application tests from the t directory.
t
$ mojo version $ ./myapp.pl version
Use Mojolicious::Command::version to show version information for available core and optional modules, very useful for debugging.
Mojolicious::Commands inherits all attributes from Mojolicious::Command and implements the following new ones.
my $hint = $commands->hint; $commands = $commands->hint('Foo');
Short hint shown after listing available commands.
my $msg = $commands->message; $commands = $commands->message('Hello World!');
Short usage message shown before listing available commands.
my $namespaces = $commands->namespaces; $commands = $commands->namespaces(['MyApp::Command']);
Namespaces to load commands from, defaults to Mojolicious::Command.
# Add another namespace to load commands from push @{$commands->namespaces}, 'MyApp::Command';
Mojolicious::Commands inherits all methods from Mojolicious::Command and implements the following new ones.
my $env = $commands->detect;
Try to detect environment, or return undef if none could be detected.
undef
$commands->run; $commands->run(@ARGV);
Load and run commands. Automatic deployment environment detection can be disabled with the MOJO_NO_DETECT environment variable.
MOJO_NO_DETECT
Mojolicious::Commands->start_app('MyApp'); Mojolicious::Commands->start_app(MyApp => @ARGV);
Load application from class and start the command line interface for it. Note that the options -h/--help, --home and -m/--mode, which are shared by all commands, will be parsed from @ARGV during compile time.
-h
--help
--home
-m
--mode
@ARGV
# Always start daemon for application Mojolicious::Commands->start_app('MyApp', 'daemon', '-l', 'http://*:8080');
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
To install Mojolicious, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious
CPAN shell
perl -MCPAN -e shell install Mojolicious
For more information on module installation, please visit the detailed CPAN module installation guide.