Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mason::manual::intro(3pm) [debian man page]

Mason::Manual::Intro(3pm)				User Contributed Perl Documentation				 Mason::Manual::Intro(3pm)

NAME
Mason::Manual::Intro - Getting started with Mason DESCRIPTION
A few quick examples to get your feet wet with Mason. See Mason::Manual::Setup for how to use Mason to generate web sites. EXAMPLE 1 Hello world (from command-line) After installing Mason, you should have a "mason" command in your installation path (e.g. "/usr/local/bin"). Try this: % mason Hello! The local time is <% scalar(localtime) %>. ^D (where '^D' means ctrl-D or EOF). You should see something like Hello! The local time is Wed Mar 2 17:11:54 2011. The "mason" command reads in a Mason component (template), runs it, and prints the result to standard output. Notice that the tag <% scalar(localtime) %> was replaced with the value of its expression. This is called a substitution tag and is a central piece of Mason syntax. EXAMPLE 2 Email generator (from script) The command line is good for trying quick things, but eventually you're going to want to put your Mason components in files. In a test directory, create a directory "comps" and create a file "email.mc" with the following: <%class> has 'amount'; has 'name'; </%class> Dear <% $.name %>, We are pleased to inform you that you have won $<% sprintf("%.2f", $.amount) %>! Sincerely, The Lottery Commission <%init> die "amount must be a positive value!" unless $.amount > 0; </%init> In addition to the substitution tag we've seen before, we declare two attributes, "amount" and "name", to be passed into the component; and we declare a piece of initialization code to validate the amount. In the same test directory, create a script "test.pl" with the following: 1 #!/usr/local/bin/perl 2 use Mason; 3 my $interp = Mason->new(comp_root => 'comps', data_dir => 'data'); 4 print $interp->run('/email', name => 'Joe', amount => '1500')->output; Line 3 creates a Mason interpreter, the main Mason object. It specifies two parameters: a component root, indicating the directory hierarchy where your components will live; and a data directory, which Mason will use for internal purposes such as class generation and caching. Line 4 runs the template - notice that the ".mc" extension is added automatically - passing values for the "name" and "amount" attributes. Run "test.pl", and you should see Dear Joe, We are pleased to inform you that you have won $1500.00! Sincerely, The Lottery Commission SEE ALSO
Mason::Manual::Tutorial, Mason::Manual AUTHOR
Jonathan Swartz <swartz@pobox.com> COPYRIGHT AND LICENSE
This software is copyright (c) 2011 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. perl v5.14.2 2012-05-02 Mason::Manual::Intro(3pm)

Check Out this Related Man Page

Mason::Filters::Standard(3pm)				User Contributed Perl Documentation			     Mason::Filters::Standard(3pm)

NAME
Mason::Filters::Standard - Standard filters DESCRIPTION
These filters are automatically composed into Mason::Component. FILTERS
Capture ($ref) Uses "$m->capture" to capture the content in $ref instead of outputting it. % $.Capture(my $content) {{ <!-- this will end up in $content --> % }} ... do something with $content CompCall ($path, @args...) Calls the component with path and @args, just as with "$m->scomp", with an additional coderef argument "yield" that can be invoked to generate the content. Arguments passed to "yield" can be accessed inside the content via @_. This is the replacement for Mason 1's Components With Content <http://search.cpan.org/perldoc?HTML::Mason::Devel#Component_Calls_with_Content>. In index.mc: % $.CompCall ('list_items.mi', items => @items) {{ <li><% $_[0] %></li> % }} In list_items.mi: <%class> has 'items'; has 'yield'; </%class> % foreach my $item (@{$.items}) { <% $.yield->($item) %> % } NoBlankLines Remove lines with only whitespace from content. This % $.NoBlankLines {{ hello world % }} yields hello world Repeat ($count) Repeat the content block $count times. Note that the block is re-executed each time, which may result in different content. <!-- Prints 1 to 5 --> % my $i = 1; % $.Repeat(5) {{ <% $i++ %><br> % }} Tee ($ref) Uses "$m->capture" to capture the content in $ref, and also output it. % $.Tee(my $content) {{ <!-- this will end up in $content and also be output --> % }} ... <!-- output content again down here --> <% $content %> Trim Remove whitespace from the beginning and end of the content. SEE ALSO
Mason::Manual::Filters, Mason AUTHOR
Jonathan Swartz <swartz@pobox.com> COPYRIGHT AND LICENSE
This software is copyright (c) 2011 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. perl v5.14.2 2012-05-02 Mason::Filters::Standard(3pm)
Man Page