Help for this page
my @vars = do { my %seen; grep !$seen{$_}++, $bool_func =~ /([a-zA-Z]\w*)/g; };
for my $assignment ( 0 .. (2**@vars)-1 ) { my %val; ... $val{$vars[$_]} = ( $assignment >> $_ ) & 1 for 0 .. $#vars; .........