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

FreeBSD Manual Pages


home | help
MicroMason::Embperl(3)User Contributed Perl DocumentatioMicroMason::Embperl(3)

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

       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

	 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 $]

       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

       o   [$ name ... $]

	   Supported command names are:	if, elsif, else, endif,	foreach,
	   endforeach, while, endwhile,	do, until, var.

   Private Methods
	     ( $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.

	   Adds	mappings from command names used in [$ ... $] tokens to	the
	   equivalent Perl syntax.

	     %syntax_rules = $mason->assembler_rules();

       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-01-29		MicroMason::Embperl(3)


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

home | help