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,