in reply to Working with Binary Numbers

use Algorithm::Loops qw( NestedLoops ); my @patterns= qw( 000- 0101 011- 1-0- ); my @bits; for( @patterns ) { my $pattern= $_; # Copy; don't modify @patterns my $count= $pattern =~ s/-/%d/g; push @bits, NestedLoops( [ ([0,1])x$count ], sub { sprintf $pattern, @_ }, ); } print "@bits\n" # prints 0000 0001 0110 0111 1000 1001 1100 1101

If you've got my Hammer.

- tye