NAME
List::Util::MaybeXS - List::Util but with Pure Perl fallback
SYNOPSIS
use List::Util::MaybeXS qw(
reduce any all none notall first reductions
max maxstr min minstr product sum sum0
pairs unpairs pairkeys pairvalues pairfirst pairgrep pairmap
shuffle uniq uniqint uniqnum uniqstr zip mesh
);
DESCRIPTION
This module provides the same functions as List::Util, but falls back to
pure perl implementations if the installed List::Util is too old to
provide them.
Picking between List::Util's XS accellerated functions and the PP
versions is done on a per-sub basis, so using this module should never
result in a slowdown over using List::Util directly.
FUNCTIONS
all
any
first
min
max
minstr
maxstr
none
notall
product
reduce
reductions
sum
sum0
shuffle
uniq
uniqnum
uniqint
uniqstr
pairs
unpairs
pairkeys
pairvalues
pairmap
pairgrep
pairfirst
head
tail
zip
zip_longest
zip_shortest
mesh
mesh_longest
mesh_shortest
CONFIGURATION VARIABLES
$RAND
The variables $List::Util::RAND, $List::Util::PP::RAND, and
$List::Util::MaybeXS::RAND are all aliased to each other. Any of
them will impact both List::Util::PP and List::Util functions.
DIFFERENCES FROM List::Util
As the subs provided are implemented in perl, there are some minor
differences with the interface.
@_ in blocks
Inside a callback block (such as "any { }"), @_ will be empty when
using the pure perl implementation. With the XS implementation, the
outer @_ will be visible. Under the perl debugger, the XS
implementation will also not be able to see the outer @_.
AUTHORS
Graham Knop <
[email protected]>
Paul Evans <
[email protected]>
Graham Barr <
[email protected]>
CONTRIBUTORS
None so far.
COPYRIGHT
Copyright (c) 2017 the List::Util::MaybeXS "AUTHORS" and "CONTRIBUTORS"
as listed above.
LICENSE
This library is free software and may be distributed under the same
terms as perl itself. See <
http://dev.perl.org/licenses/>.