Set::Product - generates the cartesian product of a set of lists
use Set::Product qw(product); product { say "@_" } [1..10], ['A'..'E'], ['u'..'z'];
The Set::Product module generates the cartesian product of a set of lists.
Set::Product
product { BLOCK } \@array1, \@array2, ...
Evaluates BLOCK and sets @_ to each tuple in the cartesian product for the list of array references.
BLOCK
If Set::Product::XS is installed, this module will automatically use it. You can prevent that and stick with the pure Perl version by setting the SET_PRODUCT_PP or PURE_PERL environment varible before using this module.
Set::Product::XS
SET_PRODUCT_PP
PURE_PERL
This distribution contains a benchmarking script which compares several modules available on CPAN. These are the results on a MacBook 2.6GHz Core i5 (64-bit) with Perl 5.22.0:
Set::CrossProduct 45.06+-0.54/s List::Gen 61.94+-0.22/s Algorithm::Loops 70.25+-0.55/s Set::Scalar 96.5+-1.7/s Math::Cartesian::Product 212.5+-2/s Set::Product::PP 283.52+-0.34/s Set::Product::XS 1003.05+-0.21/s
https://en.wikipedia.org/wiki/Cartesian_product
Algorithm::Loops
List::Gen
Math::Cartesian::Product
Set::CrossProduct
Set::Scalar
Please report any bugs or feature requests to http://rt.cpan.org/Public/Bug/Report.html?Queue=Set-Product. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
You can find documentation for this module with the perldoc command.
perldoc Set::Product
You can also look for information at:
GitHub Source Repository
https://github.com/gray/set-product
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Set-Product
CPAN Ratings
http://cpanratings.perl.org/d/Set-Product
RT: CPAN's request tracker
http://rt.cpan.org/Public/Dist/Display.html?Name=Set-Product
Search CPAN
http://search.cpan.org/dist/Set-Product/
Copyright (C) 2015 gray <gray at cpan.org>, all rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
gray, <gray at cpan.org>
To install Set::Product, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Set::Product
CPAN shell
perl -MCPAN -e shell install Set::Product
For more information on module installation, please visit the detailed CPAN module installation guide.