The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.

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.