The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.