oracular (3) Mason::Manual::Setup.3pm.gz

Provided by: libmason-perl_2.24-2_all bug

NAME

       Mason::Manual::Setup - Setting up Mason

SETUP

   Web development
       The most common use of Mason is to generate dynamic web content.

       Poet is a web framework designed specifically to work with Mason. Given an HTTP request, Poet generates a
       corresponding Mason request, and uses the output from Mason to form the HTTP response. Poet takes care of
       the web development details that are outside of Mason's domain, such as server integration and
       configuration. Poet::Manual::Tutorial shows how to set up a Poet/Mason site in great detail.

       Mason can also be used in the popular web frameworks Catalyst and Dancer, as a drop-in replacement for
       their default template engines.  See Catalyst::View::Mason2 and Dancer::Template::Mason2.

   Non-web development
       Mason can be used to generate any kind of dynamic content. I have personally used it to generate Apache
       configuration files, emails, and C++ code.

       To use Mason from a script or library, use the Mason::Interp API:

           my $interp = Mason->new(
               comp_root => '/path/to/comps',
               data_dir  => '/path/to/data',
               ...
           );
           my $output = $interp->run( '/request/path', foo => 5 )->output();

       If you want to process a directory with a mix of Mason templates and static files, check out
       Any::Template::ProcessDir.

       To try out Mason syntax from the command line, use the mason script:

           % mason
           2 + 2 = <% 2+2 %>
           ^D
           2 + 2 = 4

LOGGING

       Mason uses Log::Any to log various events, such as the start and end of each request. You can direct
       thesse logs to the output of your choice; see Log::Any::Adapter. If you don't specify anything then the
       logs will go into the void.

SEE ALSO

       Mason

AUTHOR

       Jonathan Swartz <swartz@pobox.com>

       This software is copyright (c) 2012 by Jonathan Swartz.

       This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5
       programming language system itself.