NAME
Template::Plugin::ListMoreUtils - TT2 plugin to use List::MoreUtils
SYNOPSIS
[% my1to9even = [ 2, 4, 6, 8 ];
my1to9prim = [ 2, 3, 5, 7 ];
my1to9odd = [ 1, 3, 5, 7, 9 ]; %]
[% USE ListMoreUtils %]
[% my1to9all = ListMoreUtils.uniq( my1to9even.merge( my1to9prim, my1to9odd ) ); %]
1 .. 9 are [% my1to9all.size() %]
DESCRIPTION
This module provides an Template::Toolkit interface to Tassilo von Parseval's List::MoreUtils. It extends the built-in functions dealing with lists as well as Template::Plugin::ListUtil.
USAGE
To use this module from templates, you can choose between class interface
[% my1to9even = [ 2, 4, 6, 8 ];
my1to9prim = [ 2, 3, 5, 7 ];
my1to9odd = [ 1, 3, 5, 7, 9 ]; %]
[% USE ListMoreUtils %]
[% my1to9all = ListMoreUtils.uniq( my1to9even.merge( my1to9prim, my1to9odd ) ); %]
1 .. 9 are [% my1to9all.size() %]
or the virtual method interface, which is described in Template::Plugin::ListMoreUtilsVMethods.
FUNCTIONS PROVIDED
All functions behave as documented in List::MoreUtils. I don't plan to copy the entire POD from there. Template::Toolkit provides lists as list reference, so they were expanded before the appropriate function in List::MoreUtils
is called.
any BLOCK LIST
all BLOCK LIST
none BLOCK LIST
notall BLOCK LIST
true BLOCK LIST
false BLOCK LIST
firstidx BLOCK LIST
first_index BLOCK LIST
lastidx BLOCK LIST
last_index BLOCK LIST
insert_after BLOCK VALUE LIST
insert_after_string STRING VALUE LIST
apply BLOCK LIST
after BLOCK LIST
after_incl BLOCK LIST
before BLOCK LIST
before_incl BLOCK LIST
indexes BLOCK LIST
firstval BLOCK LIST
first_value BLOCK LIST
lastval BLOCK LIST
last_value BLOCK LIST
pairwise BLOCK LIST LIST
Unlike the original pairwise
, both variables are given through @_
. Template::Toolkit uses eval to evaluate the perl code declared there and passes neither $a
nor $b
(which sounds reasonable to me).
minmax LIST
uniq LIST
mesh
zip
part BLOCK LIST
bsearch BLOCK LIST
This function is available only when List::MoreUtils 0.23 or newer is used.
Unlike the original bsearch
, the value to compare with is passed in $_[0]
. Template::Toolkit uses eval to evaluate the perl code declared there and don't pass $_
(which sounds reasonable to me).
INSTALL
To install this module, use
perl Build.PL
./Build
./Build test
./Build install
LIMITATION
Except the typical limitations known from perl functions embedded in Template::Toolkit, the only limitation I currently miss is being able to use TT2 defined macros as callback.
SUPPORT
Free support can be requested via regular CPAN bug-tracking system. There is no guaranteed reaction time or solution time. It depends on business load. That doesn't mean that ticket via rt aren't handles as soon as possible, that means that soon depends on how much I have to do.
Business and commercial support should be aquired via preferred freelancer agencies.
AUTHOR
Jens Rehsack
CPAN ID: REHSACK
rehsack@cpan.org
http://search.cpan.org/~rehsack/
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO
perl(1), List::MoreUtils, <Template::Plugin::ListUtil>