Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MicroMason::PLP(3)    User Contributed Perl Documentation   MicroMason::PLP(3)

       Text::MicroMason::PLP - Alternate Syntax	like PLP Templates

       Instead of using	this class directly, pass its name to be mixed in:

	   use Text::MicroMason;
	   my $mason = Text::MicroMason::Base->new( -PLP );

       Use the standard	compile	and execute methods to parse and evalute

	 print $mason->compile(	text=>$template	)->( @%args );
	 print $mason->execute(	text=>$template, @args );

       The PLP syntax provides another way 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 :>!
	   <: }	:>

       This subclass replaces MicroMason's normal lexer	with one that supports
       a syntax	similar	to that	provided by the	PLP module.

   Compatibility with PLP
       PLP is a	web-oriented system with many fatures, of which	only the
       templating functionality	is emulated.

       This is not a drop-in replacement for PLP, 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   Basic markup	tags

       The following syntax features of	are not	supported:

       o   Emulation of	functions defined in PLP::Functions is incomplete.

       o   Web server interface	with tied

   Template Syntax
       The following elements are recognized by	the PLP	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   <( file, arguments )>

	   Includes an external	template file.

   Private Methods
	     ( $type, $value ) = $mason->lex_token();

	   Lexer for <:	... :> and <( ... )> 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.

	   Performs compile-time file includes for any include tokens found by

       The interface being emulated is described in PLP.

       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.32.1			  2007-12-21		    MicroMason::PLP(3)


Want to link to this manual page? Use this URL:

home | help