RosettaCodeData/Task/Power-set/Perl/power-set-7.pl

12 lines
261 B
Perl
Raw Permalink Normal View History

2018-06-22 20:57:24 +00:00
use List::Util qw(reduce);
2015-11-18 06:14:39 +00:00
sub powerset {
2018-06-22 20:57:24 +00:00
@{( reduce { [@$a, map { Set->new($_->elements, $b) } @$a ] }
[Set->new()], shift->elements )};
2015-02-20 00:35:01 -05:00
}
2018-06-22 20:57:24 +00:00
my $set = Set->new(1, 2, 3);
my @subsets = powerset($set);
print $_->as_string, "\n" for @subsets;