Provided by: libtext-micromason-perl_2.23-4_all
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 evaluate 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.