Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

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

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

NAME
Text::MicroMason::LineNumbers - Report errors at correct source code line numbers DESCRIPTION
This mixin class associates each token in a template with the line number on which it was found, and then inserts special comments in the generated Perl code that preserve that original source file and line number information. This should facilitate debugging, by making it easier to match up run- time errors with the template code that produced them. To turn this behavior on, just add "-LineNumbers" to your MicroMason creation call: my $mason = Text::MicroMason->new( qw( -LineNumbers ) ); Public Methods These methods are called from within the normal flow of MicroMason functionality, and you do not need to invoke them directly. read() Clears the variables used to store the file name and first line of a template, so that they can be set by the methods below. read_file() Saves the source file name before invoking the standard behavior for this method. $mason->compile( file => $filename ); read_handle() Saves the caller's file name before invoking the standard behavior for this method. $mason->compile( handle => $filename ); read_text() Saves the caller's file name before invoking the standard behavior for this method. $mason->compile( text => $filename ); read_inline() This is similar to read_text, except it adjusts the line numbering to reflect a template that's embdded as a literal text in the Perl code. $mason->compile( inline => q{ My template text goes here. } ); lex() Identical to the lex() method provided by the Base class, except that it also inserts a stream of line-number-setting comments into the to-be- compiled Perl code that attempt to re-synchronize the assembler_rules() Maps the "line_num" token to a perl line number comment. Private Methods _get_external_caller() Returns the source file and line number of the first item in the function call stack that is not a Text::MicroMason package. 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 2009-11-11 MicroMason::LineNumbers(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