sub set_bit_offsets { my @bitmap = split //, unpack('b*', @_); my @offset; for my $off (0..$#bitmap) { if ($bitmap[$off] == 1) { push @offset, $off; } } return @offset; } #### sub set_bit_offsets { my @bitmap = split //, unpack('b*', @_); return grep {$bitmap[$_]} 0..$#bitmap; }