---
name: "Mason::Filters::Standard"
section: "3pm"
platform: "linux"
package: "libmason-perl"
version: "2.24-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Mason::Filters::Standard"
---

# Mason::Filters::Standard(3pm)

Standard filters

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