Text::MicroMason::PostProcess.3pm

Langue: en

Version: 2007-01-29 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Text::MicroMason::PostProcess - Apply Filters to All Template Output

SYNOPSIS

Instead of using this class directly, pass its name to be mixed in:
     use Text::MicroMason;
     my $mason = Text::MicroMason->new( -PostProcess );
 
 

Use the standard compile and execute methods to parse and evalute templates:

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

You can define output filters at creation or subsequently:

     $mason = Text::MicroMason->new( -PostProcess, post_process => $func );
 
     $mason->post_processors( $func );
 
     $mason->compile( text => $template, post_process => $func );
 
     $mason->execute( text => $template, { post_process => $func }, @args );
 
 

DESCRIPTION

This mixin class adds filtering of all template output to any MicroMason class.

Filter functions can accept the string to be output and return a filtered version:

   $mason->post_process( sub {
     my $foo = shift;
     $foo =~ s/a-Z/A-Z/;
     return $foo;
   } );
 
 

If a filter function has an empty prototype, it's assumed to work on $_:

   $mason->post_process( sub () {
     s/a-Z/A-Z/
   } );
 
 

Public Methods

post_processors()
Gets and sets the functions to be used for output filtering.

Called with no arguments, returns the list of filter functions:

   my @functions = $mason->post_processors();
 
 

Called with one array-ref argument, sets the list of filter functions:

   $mason->post_processors( \@functions );
 
 

Called with one or more function-ref arguments, appends to the list:

   $mason->post_processors( $filter1, $filter2 );
 
 

Supported Attributes

post_process
Stores a reference to a function or an array of functions to be used:
   $mason->{post_process} = $function;
   $mason->{post_process} = [ $function1, $function2 ];
 
 

You can set this attribute when you create your mason object, or in calls to the compile and execute methods.

Private Methods

post_process()
   $mason->post_process( $output ) : $filtered_output
 
 

Applies the post-processing filter.

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.