in reply to pack/unpack 6 bit fields.

There's also vec (perldoc -f vec). For example:
# to turn your $str into an array @array = map { vec($str, $_*6, 6) } 0..15; # to turn an array of 6-bit items into a packed string vec($str, $_*6, 6) = $array[$_] for 0..$#array; # or simply to access the $i-th item in the $str, directly: $read_item = vec($str, $i*6, 6) = $write_item; # vec is an lvalue!
Enjoy.
------------ :Wq Not an editor command: Wq

Replies are listed 'Best First'.
Re^2: pack/unpack 6-bit fields.(!vec)
by tye (Sage) on Aug 18, 2004 at 05:33 UTC

    My first guess is that you didn't try this code. For me, vec only allows field sizes that are powers of 2 (and this restriction is still in 5.8's vec docs -- the latest PM currently links to).

    Illegal number of bits in vec at ...

    - tye