.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Mojolicious::Guides 3pm" .TH Mojolicious::Guides 3pm "2014-10-23" "perl v5.20.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Mojolicious::Guides \- Mojolicious guide to the galaxy .SH "DON'T PANIC!" .IX Header "DON'T PANIC!" We are constantly working on new documentation, follow us on GitHub or join the official \s-1IRC\s0 channel \&\f(CW\*(C`#mojo\*(C'\fR on \f(CW\*(C`irc.perl.org\*(C'\fR to get all the latest updates. .SH "LEARNING PERL" .IX Header "LEARNING PERL" If you are new to Perl, we recommend Learn Perl in 2 hours 30 minutes for a quick introduction, or the Modern Perl book , freely available in many formats. Both are excellent introductions to the language. For more books and documentation, check out learn.perl.org . .SH "LEARNING HTML" .IX Header "LEARNING HTML" All web development starts with \s-1HTML,\s0 to learn the basics we recommend the Mozilla Developer Network . .SH "TUTORIAL" .IX Header "TUTORIAL" .IP "Mojolicious::Lite" 2 .IX Item "Mojolicious::Lite" A fast and fun way to get started developing web applications with Mojolicious is the Mojolicious::Lite tutorial. This micro web framework is only a thin wrapper around the normal web framework, so almost everything you learn here also applies to full Mojolicious applications. The simplified notation introduced in the tutorial is commonly used throughout the guides and is therefore considered a prerequisite, you should definitely take a look! .SH "GUIDES" .IX Header "GUIDES" .IP "Mojolicious::Guides::Growing" 2 .IX Item "Mojolicious::Guides::Growing" Starting a Mojolicious::Lite prototype from scratch and growing it into a well-structured Mojolicious application. .IP "Mojolicious::Guides::Routing" 2 .IX Item "Mojolicious::Guides::Routing" Simple and fun introduction to the Mojolicious router. .IP "Mojolicious::Guides::Rendering" 2 .IX Item "Mojolicious::Guides::Rendering" Generating content with the Mojolicious renderer. .IP "Mojolicious::Guides::Cookbook" 2 .IX Item "Mojolicious::Guides::Cookbook" Cooking with Mojolicious, recipes for every taste. .IP "Mojolicious::Guides::Contributing" 2 .IX Item "Mojolicious::Guides::Contributing" Become a part of the ongoing Mojolicious development. .IP "Mojolicious::Guides::FAQ" 2 .IX Item "Mojolicious::Guides::FAQ" Answers to the most frequently asked questions. .SH "HIGHLIGHTS" .IX Header "HIGHLIGHTS" Mojolicious and Mojolicious::Lite are the sum of many parts, small building blocks that can be used independently, these are the most prominent ones. .IP "Mojo::UserAgent" 2 .IX Item "Mojo::UserAgent" Full featured non-blocking I/O \s-1HTTP\s0 and WebSocket user agent. .IP "Mojo::DOM" 2 .IX Item "Mojo::DOM" Very fun and minimalistic \s-1HTML/XML DOM\s0 parser with \s-1CSS\s0 selector support. .IP "Mojo::JSON" 2 .IX Item "Mojo::JSON" Minimalistic \s-1JSON\s0 implementation that just works. .IP "Mojo::Server::Daemon" 2 .IX Item "Mojo::Server::Daemon" Full featured, highly portable non-blocking I/O \s-1HTTP\s0 and WebSocket server, with self-restart support through Mojo::Server::Morbo, perfect for development and testing. .IP "Mojo::Server::Prefork" 2 .IX Item "Mojo::Server::Prefork" Full featured, \s-1UNIX\s0 optimized, preforking non-blocking I/O \s-1HTTP\s0 and WebSocket server with support for zero downtime software upgrades (hot deployment) through Mojo::Server::Hypnotoad. .IP "Mojo::Server::CGI, Mojo::Server::PSGI" 2 .IX Item "Mojo::Server::CGI, Mojo::Server::PSGI" Transparent \s-1CGI\s0 and \s-1PSGI\s0 support out of the box. .IP "Mojo::IOLoop" 2 .IX Item "Mojo::IOLoop" A minimalistic event loop with support for multiple reactor backends. .IP "Mojo::Template" 2 .IX Item "Mojo::Template" Very Perl-ish and minimalistic template system. .IP "Test::Mojo" 2 .IX Item "Test::Mojo" Testing toolkit for web applications. .IP "ojo" 2 .IX Item "ojo" Fun one-liners using everything above. .SH "REFERENCE" .IX Header "REFERENCE" This is the class hierarchy of the Mojolicious distribution. .IP "\(bu" 2 Mojo::Base .RS 2 .IP "\(bu" 2 Mojo .RS 2 .IP "\(bu" 2 Mojolicious .RS 2 .IP "\(bu" 2 Mojolicious::Lite .RS 2 .IP "\(bu" 2 Mojo::HelloWorld .RE .RS 2 .RE .RE .RS 2 .RE .RE .RS 2 .RE .IP "\(bu" 2 Mojo::Cache .IP "\(bu" 2 Mojo::Cookie .RS 2 .IP "\(bu" 2 Mojo::Cookie::Request .IP "\(bu" 2 Mojo::Cookie::Response .RE .RS 2 .RE .IP "\(bu" 2 Mojo::DOM::CSS .IP "\(bu" 2 Mojo::DOM::HTML .IP "\(bu" 2 Mojo::Date .IP "\(bu" 2 Mojo::EventEmitter .RS 2 .IP "\(bu" 2 Mojo::Asset .RS 2 .IP "\(bu" 2 Mojo::Asset::File .IP "\(bu" 2 Mojo::Asset::Memory .RE .RS 2 .RE .IP "\(bu" 2 Mojo::Content .RS 2 .IP "\(bu" 2 Mojo::Content::MultiPart .IP "\(bu" 2 Mojo::Content::Single .RE .RS 2 .RE .IP "\(bu" 2 Mojo::IOLoop::Client .IP "\(bu" 2 Mojo::IOLoop::Delay .IP "\(bu" 2 Mojo::IOLoop::Server .IP "\(bu" 2 Mojo::IOLoop::Stream .IP "\(bu" 2 Mojo::Log .IP "\(bu" 2 Mojo::Message .RS 2 .IP "\(bu" 2 Mojo::Message::Request .IP "\(bu" 2 Mojo::Message::Response .RE .RS 2 .RE .IP "\(bu" 2 Mojo::Reactor .RS 2 .IP "\(bu" 2 Mojo::Reactor::Poll .RS 2 .IP "\(bu" 2 Mojo::Reactor::EV .RE .RS 2 .RE .RE .RS 2 .RE .IP "\(bu" 2 Mojo::Server .RS 2 .IP "\(bu" 2 Mojo::Server::CGI .IP "\(bu" 2 Mojo::Server::Daemon .RS 2 .IP "\(bu" 2 Mojo::Server::Prefork .RE .RS 2 .RE .IP "\(bu" 2 Mojo::Server::PSGI .RE .RS 2 .RE .IP "\(bu" 2 Mojo::Transaction .RS 2 .IP "\(bu" 2 Mojo::Transaction::HTTP .IP "\(bu" 2 Mojo::Transaction::WebSocket .RE .RS 2 .RE .IP "\(bu" 2 Mojo::UserAgent .IP "\(bu" 2 Mojolicious::Plugins .RE .RS 2 .RE .IP "\(bu" 2 Mojo::Exception .IP "\(bu" 2 Mojo::Headers .IP "\(bu" 2 Mojo::Home .IP "\(bu" 2 Mojo::IOLoop .IP "\(bu" 2 Mojo::JSON::Pointer .IP "\(bu" 2 Mojo::Loader .IP "\(bu" 2 Mojo::Parameters .IP "\(bu" 2 Mojo::Path .IP "\(bu" 2 Mojo::Server::Hypnotoad .IP "\(bu" 2 Mojo::Server::Morbo .IP "\(bu" 2 Mojo::Template .IP "\(bu" 2 Mojo::URL .IP "\(bu" 2 Mojo::Upload .IP "\(bu" 2 Mojo::UserAgent::CookieJar .IP "\(bu" 2 Mojo::UserAgent::Proxy .IP "\(bu" 2 Mojo::UserAgent::Server .IP "\(bu" 2 Mojo::UserAgent::Transactor .IP "\(bu" 2 Mojolicious::Command .RS 2 .IP "\(bu" 2 Mojolicious::Command::cgi .IP "\(bu" 2 Mojolicious::Command::cpanify .IP "\(bu" 2 Mojolicious::Command::daemon .IP "\(bu" 2 Mojolicious::Command::eval .IP "\(bu" 2 Mojolicious::Command::generate::app .IP "\(bu" 2 Mojolicious::Command::generate::lite_app .IP "\(bu" 2 Mojolicious::Command::generate::makefile .IP "\(bu" 2 Mojolicious::Command::generate::plugin .IP "\(bu" 2 Mojolicious::Command::get .IP "\(bu" 2 Mojolicious::Command::inflate .IP "\(bu" 2 Mojolicious::Command::prefork .IP "\(bu" 2 Mojolicious::Command::psgi .IP "\(bu" 2 Mojolicious::Command::routes .IP "\(bu" 2 Mojolicious::Command::test .IP "\(bu" 2 Mojolicious::Command::version .IP "\(bu" 2 Mojolicious::Commands .RS 2 .IP "\(bu" 2 Mojolicious::Command::generate .RE .RS 2 .RE .RE .RS 2 .RE .IP "\(bu" 2 Mojolicious::Controller .IP "\(bu" 2 Mojolicious::Plugin .RS 2 .IP "\(bu" 2 Mojolicious::Plugin::Charset .IP "\(bu" 2 Mojolicious::Plugin::Config .RS 2 .IP "\(bu" 2 Mojolicious::Plugin::JSONConfig .RE .RS 2 .RE .IP "\(bu" 2 Mojolicious::Plugin::DefaultHelpers .IP "\(bu" 2 Mojolicious::Plugin::EPLRenderer .IP "\(bu" 2 Mojolicious::Plugin::EPRenderer .IP "\(bu" 2 Mojolicious::Plugin::HeaderCondition .IP "\(bu" 2 Mojolicious::Plugin::Mount .IP "\(bu" 2 Mojolicious::Plugin::PODRenderer .IP "\(bu" 2 Mojolicious::Plugin::TagHelpers .RE .RS 2 .RE .IP "\(bu" 2 Mojolicious::Renderer .IP "\(bu" 2 Mojolicious::Routes::Match .IP "\(bu" 2 Mojolicious::Routes::Pattern .IP "\(bu" 2 Mojolicious::Routes::Route .RS 2 .IP "\(bu" 2 Mojolicious::Routes .RE .RS 2 .RE .IP "\(bu" 2 Mojolicious::Sessions .IP "\(bu" 2 Mojolicious::Static .IP "\(bu" 2 Mojolicious::Types .IP "\(bu" 2 Mojolicious::Validator .IP "\(bu" 2 Mojolicious::Validator::Validation .IP "\(bu" 2 Test::Mojo .RE .RS 2 .RE .IP "\(bu" 2 Mojo::ByteStream .IP "\(bu" 2 Mojo::Collection .IP "\(bu" 2 Mojo::DOM .IP "\(bu" 2 Mojo::JSON .IP "\(bu" 2 Mojo::Util .IP "\(bu" 2 ojo .SH "MORE" .IX Header "MORE" A lot more documentation and examples by many different authors can be found in the Mojolicious wiki . .SH "SUPPORT" .IX Header "SUPPORT" If you have any questions the documentation might not yet answer, don't hesitate to ask on the mailing-list or the official \s-1IRC\s0 channel \f(CW\*(C`#mojo\*(C'\fR on \f(CW\*(C`irc.perl.org\*(C'\fR.