Mason::Filters::Standard(3)

NAME
Mason::Filters::Standard - Standard filters

DESCRIPTION
These filters are automatically composed into Mason::Component.

FILTERS

Capture ($ref)
    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

CompCall ($path, @args...)
    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) %>
        % }

NoBlankLines
    Remove lines with only whitespace from content. This

        % $.NoBlankLines {{

        hello

        world
        % }}

    yields

        hello
        world

Repeat ($count)
    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>
        % }}

Tee ($ref)
    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 %>

Trim
    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.