#!/usr/bin/env perl use strict; use warnings; use FindBin; use lib "$FindBin::Bin/../lib"; use Getopt::Long qw(GetOptions :config no_auto_abbrev no_ignore_case); GetOptions( 'h|help' => \my $help, 'l|listen=s' => \my @listen, 'v|verbose' => sub { $ENV{MORBO_VERBOSE} = 1 }, 'w|watch=s' => \my @watch ); die <<"EOF" if $help || !(my $app = shift); usage: $0 [OPTIONS] [APPLICATION] morbo script/myapp morbo myapp.pl morbo -w /usr/local/lib -w public myapp.pl These options are available: -h, --help Show this message. -l, --listen Set one or more locations you want to listen on, defaults to the value of MOJO_LISTEN or "http://*:3000". -v, --verbose Print details about what files changed to STDOUT. -w, --watch Set one or more directories and files to watch for changes, defaults to the application script as well as the "lib" and "templates" directories in the current working directory. EOF $ENV{MOJO_LISTEN} = join(',', @listen) if @listen; require Mojo::Server::Morbo; my $morbo = Mojo::Server::Morbo->new; $morbo->watch(\@watch) if @watch; $morbo->run($app); =head1 NAME morbo - Morbo HTTP and WebSocket development server =head1 SYNOPSIS $ morbo --help $ morbo myapp.pl =head1 DESCRIPTION Start L and L applications with the L web server. =head1 SEE ALSO L, L, L. =cut