__END__ =pod =head1 NAME Mason::Manual::Intro - Getting started with Mason =head1 DESCRIPTION A few quick examples to get your feet wet with Mason. See L for how to use Mason to generate web sites. =head1 EXAMPLE 1 =head2 Hello world (from command-line) After installing Mason, you should have a C command in your installation path (e.g. C). 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 C command reads in a Mason I (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 I and is a central piece of Mason syntax. =head1 EXAMPLE 2 =head2 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 C and create a file C with the following: <%class> has 'amount'; has 'name'; 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; In addition to the substitution tag we've seen before, we declare two I, C and C, 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 C 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 I, the main Mason object. It specifies two parameters: a I, indicating the directory hierarchy where your components will live; and a I, which Mason will use for internal purposes such as class generation and caching. Line 4 runs the template - notice that the C<.mc> extension is added automatically - passing values for the C and C attributes. Run C, and you should see Dear Joe, We are pleased to inform you that you have won $1500.00! Sincerely, The Lottery Commission =head1 SEE ALSO L, L =head1 AUTHOR Jonathan Swartz =head1 COPYRIGHT AND LICENSE 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. =cut