NAME

Template::Plugin::Wrap - Plugin interface to Text::Wrap

SYNOPSIS

[% USE wrap %]

# call wrap subroutine
[% wrap(mytext, width, initial_tab,  subsequent_tab) %]

# or use wrap FILTER
[% mytext FILTER wrap(width, initital_tab, subsequent_tab) %]

DESCRIPTION

This plugin provides an interface to the Text::Wrap module which provides simple paragraph formatting.

It defines a wrap subroutine which can be called, passing the input text and further optional parameters to specify the page width (default: 72), and tab characters for the first and subsequent lines (no defaults).

[% USE wrap %]

[% text = BLOCK %]
First, attach the transmutex multiplier to the cross-wired
quantum homogeniser.
[% END %]

[% wrap(text, 40, '* ', '  ') %]

Output:

* First, attach the transmutex
  multiplier to the cross-wired quantum
  homogeniser.

It also registers a wrap filter which accepts the same three optional arguments but takes the input text directly via the filter input.

Example 1:

[% FILTER bullet = wrap(40, '* ', '  ') -%]
First, attach the transmutex multiplier to the cross-wired quantum
homogeniser.
[%- END %]

Output:

* First, attach the transmutex
  multiplier to the cross-wired quantum
  homogeniser.

Example 2:

[% FILTER bullet -%]
Then remodulate the shield to match the harmonic frequency, taking
care to correct the phase difference.
[% END %]

Output:

* Then remodulate the shield to match
  the harmonic frequency, taking
  care to correct the phase difference.

AUTHOR

Andy Wardley <abw@wardley.org> http://wardley.org/

The Text::Wrap module was written by David Muir Sharnoff with help from Tim Pierce and many others.

COPYRIGHT

Copyright (C) 1996-2022 Andy Wardley. All Rights Reserved.

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

SEE ALSO

Template::Plugin, Text::Wrap