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

FreeBSD Manual Pages

  
 
  

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

NAME
       Text::MicroMason::Filters - Add Output Filters like "|h"	and "|u"

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

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

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

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

       Enables filtering of template expressions using HTML::Mason's
       conventions:

	   <%args> $name </%args>
	   Welcome, <% $name |h	%>!
	   <a href="more.masn?name=<% $name |u %>">Click for More</a>

       You can set a default filter and	override it with the "n" flag:

	   my $mason = Text::MicroMason->new( -Filters,	default_filters	=> 'h' );

	   <%args> $name </%args>
	   Welcome, <% $name %>!
	   <a href="more.masn?name=<% $name |nu	%>">Click for More</a>

       You can define additional filters and stack them:

	   my $mason = Text::MicroMason->new( -Filters );
	   $mason->filter_functions( myfilter => \&function );
	   $mason->filter_functions( uc	=> sub { return	uc( shift ) } );

	   <%args> $name </%args>
	   Welcome, <% $name |uc,myfilter %>!

DESCRIPTION
       This module enables the filtering of expressions	before they are
       output, using HTML::Mason's "|hun" syntax.

       If you have HTML::Entities and URI::Escape available they are loaded to
       provide the default "h" and "u" filters.	If those modules can not be
       loaded, no error	message	is produced but	any subsequent use of them
       will fail.

       Attempted use of	an unknown filter name will croak with a message
       stating "No definition for a filter named 'h'".

   Public Methods
       filter_functions
	   Gets	and sets values	from the hash mapping filter flags to
	   functions.

	   If called with no arguments,	returns	a hash of all available	filter
	   flags and functions:

	     %functions	= $mason->filter_functions();

	   If called with a filter flag	returns	the associated function, or if
	   provided with a reference to	an array of flag names returns a list
	   of the functions:

	     $function	= $mason->filter_functions( $flag );
	     @functions	= $mason->filter_functions( \@flags );

	   If called with one or more pairs of filter flags and	associated
	   functions, adds them	to the hash. (Any filter that might have
	   existed with	the same flag name is overwritten.)

	     $mason->filter_functions( $flag =>	$function, ... );

   Supported Attributes
       default_filters
	   Optional comma-separated string of filter flags to be applied to
	   all output expressions unless overridden by the "n" flag.

   Private Methods
       assemble()
	   This	method goes through the	lexed template tokens looking for uses
	   of filter flags, which it then rewrites as appropriate method calls
	   before passing the tokens on	to the superclass.

       parse_filters
	   Parses one or more strings containing any number of filter flags
	   and returns a list of flags to be used.

	     @flags = $mason->parse_filters( @filter_strings );

	   Flags should	be separated by	commas,	except that the	commas may be
	   omitted when	using a	combination of single-letter flags. Flags are
	   applied from	left to	right. Any use of the "n" flag wipes out all
	   flags defined to the	left of	it.

       get_filter_functions
	   Accepts filter flags	or function references and returns a list of
	   the corresponding functions.	Dies if	an unknown filter flag is
	   used.

	     @functions	= $mason->get_filter_functions(	@flags_or_functions );

       filter
	   Applies one or more filters to the provided content string.

	     $result = $mason->filter( @flags_or_functions, $content );

SEE ALSO
       For an overview of this templating framework, see Text::MicroMason.

       This is a mixin class intended for use with
       Text::MicroMason::HTMLMason.

       For distribution, installation, support,	copyright and license
       information, see	Text::MicroMason::Docs::ReadMe.

perl v5.32.0			  2008-01-02		MicroMason::Filters(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Text::MicroMason::Filters&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help