Name

Math::Subsets::List - Generate all the subsets of a list.

Synopsis

use Math::Subsets::List;

subsets {say "@_"} qw(a b c);

#    
#  a 
#  b
#  c
#  a b 
#  a c 
#  b c
#  a b c

Description

Generate all the subsets of a list and process them using the standard Perl metaphor.

subsets() returns the number of subsets. Please note that this includes the empty set as it is a subset of all sets.

Please note that the order in which the subsets are generated is not guaranteed, so please do not rely on it.

subsets() is easy to use and fast. It is written in 100% Pure Perl.

Export

The subsets() function is exported.

Installation

Standard Module::Build process for building and installing modules:

perl Build.PL
./Build
./Build test
./Build install

Or, if you're on a platform (like DOS or Windows) that doesn't require the "./" notation, you can do this:

perl Build.PL
Build
Build test
Build install

Author

PhilipRBrenan@appaapps.com

http://www.appaapps.com

Acknowledgments

With lots of help and advice from Philip Rumpff to who I am most grateful.

See Also

Math::Cartesian::Product
Math::Disarrange::List
Math::Permute::List

Copyright

Copyright (c) 2009 Philip R Brenan.

This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.