Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

text::micromason::catcherrors(3pm) [debian man page]

MicroMason::CatchErrors(3pm)				User Contributed Perl Documentation			      MicroMason::CatchErrors(3pm)

NAME
Text::MicroMason::CatchErrors - Add Exception Catching for Templates SYNOPSIS
Instead of using this class directly, pass its name to be mixed in: use Text::MicroMason; my $mason = Text::MicroMason->new( -CatchErrors ); Use the standard compile and execute methods to parse and evalute templates: print scalar $mason->compile( text=>$template )->( @%args ); print scalar $mason->execute( text=>$template, @args ); Result is undef on exception, plus an error message if in list context: ($coderef, $error) = $mason->compile( text=>$template ); ($result, $error) = $mason->execute( text=>$template, 'name'=>'Dave' ); DESCRIPTION
This package adds exception catching to MicroMason, allowing you to check an error variable rather than wrapping every call in an eval. Both compilation and run-time errors in your template are handled as fatal exceptions. The base MicroMason class will croak() if you attempt to compile or execute a template which contains a incorrect fragment of Perl syntax. Similarly, if the Perl code in your template causes die() or croak() to be called, this will interupt your program unless caught by an eval block. This class provides that error catching behavior for the compile and execute methods. In a scalar context they return the result of the call, or undef if it failed; in a list context they return the results of the call (undef if it failed) followed by the error message (undef if it succeeded). Public Methods compile() $code_ref = $mason->compile( text => $template, %options ); ($coderef, $error) = $mason->compile( text=>$template, %options ); Uses an eval block to provide an exception catching wrapper for the compile method. execute() $result = $mason->execute( text => $template, @arguments ); ($result, $error) = $mason->execute( text=>$template, 'name'=>'Dave' ); Uses an eval block to provide an exception catching wrapper for the execute method. SEE ALSO
For an overview of this templating framework, see Text::MicroMason. This is a mixin class intended for use with Text::MicroMason::Base. For distribution, installation, support, copyright and license information, see Text::MicroMason::Docs::ReadMe. perl v5.10.1 2007-01-29 MicroMason::CatchErrors(3pm)

Check Out this Related Man Page

MicroMason::Embperl(3pm)				User Contributed Perl Documentation				  MicroMason::Embperl(3pm)

NAME
Text::MicroMason::Embperl - Alternate Syntax like Embperl Templates SYNOPSIS
Instead of using this class directly, pass its name to be mixed in: use Text::MicroMason; my $mason = Text::MicroMason::Base->new( -Embperl ); Use the standard compile and execute methods to parse and evalute templates: print $mason->compile( text=>$template )->( @%args ); print $mason->execute( text=>$template, @args ); Embperl syntax provides several ways to mix Perl into a text template: [- my $name = $ARGS{name}; -] [$ if $name eq 'Dave' $] I'm sorry [+ $name +], I'm afraid I can't do that right now. [$ else $] [- my $hour = (localtime)[2]; my $daypart = ( $hour > 11 ) ? 'afternoon' : 'morning'; -] Good [+ $daypart +], [+ $name +]! [$ endif $] DESCRIPTION
This subclass replaces MicroMason's normal lexer with one that supports a syntax similar to Embperl. Compatibility with Embperl Embperl is a full-featured application server toolkit with many fatures, of which only the templating functionality is emulated. This is not a drop-in replacement for Embperl, as the implementation is quite different, but it should be able to process some existing templates without major changes. The following features of EmbPerl syntax are supported: o Square-bracket markup tags The following syntax features of are not supported: o Dynamic HTML tags Template Syntax The following elements are recognized by the Embperl lexer: o [- perl statements -] Arbitrary Perl code to be executed at this point in the template. o [+ perl expression +] A Perl expression to be evaluated and included in the output. o [! perl statements !] Arbitrary Perl code to be executed once when the template is compiled. o [$ name ... $] Supported command names are: if, elsif, else, endif, foreach, endforeach, while, endwhile, do, until, var. Private Methods lex_token ( $type, $value ) = $mason->lex_token(); Lexer for [. ... .] tags. Attempts to parse a token from the template text stored in the global $_ and returns a token type and value. Returns an empty list if unable to parse further due to an error. assembler_rules() Adds mappings from command names used in [$ ... $] tokens to the equivalent Perl syntax. %syntax_rules = $mason->assembler_rules(); SEE ALSO
For an overview of this templating framework, see Text::MicroMason. This is a mixin class intended for use with Text::MicroMason::Base. For distribution, installation, support, copyright and license information, see Text::MicroMason::Docs::ReadMe. perl v5.10.1 2007-01-29 MicroMason::Embperl(3pm)
Man Page