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

FreeBSD Manual Pages


home | help
MicroMason::ServerPageUser Contributed Perl DocumentMicroMason::ServerPages(3)

       Text::MicroMason::ServerPages - Alternate Syntax	like ASP/JSP Templates

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

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

       Use the standard	compile	and execute methods to parse and evalute

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

       Server Pages syntax provides another way	to mix Perl into a text

	   <% 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 Active Server Pages and Java	Server Pages.

   Compatibility with Apache::ASP
       Apache::ASP 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 Apache::ASP, 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   Angle-bracket markup	tags

       The following syntax features of	are not	supported:

       o   Dynamic XML/XSL processing.

       o   Web server objects such as $Session,	$Request, $Response, and

       o   Application events such as Application_OnStart, Script_OnStart, and
	   other gloga.asa features.

   Template Syntax
       The following elements are recognized by	the ServerPages	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.

       o   <%--	comment	--%>

	   Documentation or inactive code to be	skipped	over silently. Can
	   also	be used	to quickly comment out part of a template.

       o   <%name> ... </%name>

	   Supported block names are: 'perl', 'args', 'once', 'init',
	   'cleanup', and 'doc'.

   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.

       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::ServerPages(3)


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

home | help