Scroll to navigation

Mason::Filters::Standard(3pm) User Contributed Perl Documentation Mason::Filters::Standard(3pm)

NAME

Mason::Filters::Standard - Standard filters

DESCRIPTION

These filters are automatically composed into Mason::Component.

FILTERS

Uses "$m->capture" to capture the content in $ref instead of outputting it.

    % $.Capture(\my $content) {{
      <!-- this will end up in $content -->
    % }}
    ... do something with $content
    
Calls the component with path and @args, just as with "$m->scomp", with an additional coderef argument "yield" that can be invoked to generate the content. Arguments passed to "yield" can be accessed inside the content via @_. This is the replacement for Mason 1's Components With Content <http://search.cpan.org/perldoc?HTML::Mason::Devel#Component_Calls_with_Content>.

  In index.mc:
    % $.CompCall ('list_items.mi', items => \@items) {{
    <li><% $_[0] %></li>
    % }}
  In list_items.mi:
    <%class>
    has 'items';
    has 'yield';
    </%class>
    % foreach my $item (@{$.items}) {
    <% $.yield->($item) %>
    % }
    
Remove lines with only whitespace from content. This

    % $.NoBlankLines {{
    hello
    world    
    % }}
    

yields

    hello
    world
    
Repeat the content block $count times. Note that the block is re-executed each time, which may result in different content.

    <!-- Prints 1 to 5 -->
    % my $i = 1;
    % $.Repeat(5) {{
       <% $i++ %><br>
    % }}
    
Uses "$m->capture" to capture the content in $ref, and also output it.

    % $.Tee(\my $content) {{
      <!-- this will end up in $content and also be output -->
    % }}
    ...
    <!-- output content again down here -->
    <% $content %>
    
Remove whitespace from the beginning and end of the content.

SEE ALSO

Mason::Manual::Filters, Mason

AUTHOR

Jonathan Swartz <swartz@pobox.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Jonathan Swartz.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2022-05-27 perl v5.34.0