Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

NAME

Mojo - Web development toolkit

SYNOPSIS

# HTTP/WebSocket user agent
my $ua = Mojo::UserAgent->new;
say $ua->get('www.mojolicious.org')->result->headers->server;
# HTML/XML DOM parser with CSS selectors
my $dom = Mojo::DOM->new('<div><b>Hello Mojo!</b></div>');
say $dom->at('div > b')->text;
# Perl-ish templates
my $mt = Mojo::Template->new(vars => 1);
say $mt->render('Hello <%= $what %>!', {what => 'Mojo'});
# HTTP/WebSocket server
my $daemon = Mojo::Server::Daemon->new(listen => ['http://*:8080']);
$daemon->unsubscribe('request')->on(request => sub ($daemon, $tx) {
$tx->res->code(200);
$tx->res->body('Hello Mojo!');
$tx->resume;
});
$daemon->run;
# Event loop
for my $seconds (1 .. 5) {
Mojo::IOLoop->timer($seconds => sub { say $seconds });
}
Mojo::IOLoop->start;

DESCRIPTION

A powerful web development toolkit, with all the basic tools and helpers needed to write simple web applications and higher level web frameworks, such as Mojolicious. Some of the most commonly used tools are Mojo::UserAgent, Mojo::DOM, Mojo::JSON, Mojo::Server::Daemon, Mojo::Server::Prefork, Mojo::IOLoop and Mojo::Template.

See Mojolicious::Guides for more!

SEE ALSO

Mojolicious, Mojolicious::Guides, https://mojolicious.org.