Template::Plugin::ListMoreUtils(3)

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>