math is hard (to remember)

cabney cabney at
Fri Jul 13 02:04:18 CDT 2001

On 12 Jul 2001, Randal L. Schwartz wrote:

> my @list = qw(red orange yellow green blue purple);
> for (my $i = 1; $i < 1 << @list; $i++) {
>   my $bits = unpack "B*", pack "N", $i;
>   my @out = grep $bits =~ s/(.)$// && $1, @list;
>   print "$i = @out\n";
> }
> Works up to 32 items.  More requires a nicer bit-increment algorithm,
> but when are you going to do this with 32 items or more? :)

Woah,  I'm still going through it.  Seems memory friendly, is it
faster, too?

There was a time
A wind that blew so young
For this could be the biggest sky
And I could have the faintest idea


The posting address is: san-diego-pm-list at

List requests should be sent to: majordomo at

If you ever want to remove yourself from this mailing list,
you can send mail to <majordomo at> with the following
command in the body of your email message:

    unsubscribe san-diego-pm-list

If you ever need to get in contact with the owner of the list,
(if you have trouble unsubscribing, or have questions about the
list itself) send email to <owner-san-diego-pm-list at> .
This is the general rule for most mailing lists when you need
to contact a human.

More information about the San-Diego-pm mailing list