http://www.perlmonks.org?node_id=1146184


in reply to Re: Convert ASCII string to 7-bit binary string
in thread Convert ASCII string to 7-bit binary string

Problem is, that doesn't actually work. That outputs "0011010001000010" instead of "01101001000010".
  • Comment on Re^2: Convert ASCII string to 7-bit binary string

Replies are listed 'Best First'.
Re^3: Convert ASCII string to 7-bit binary string
by AppleFritter (Vicar) on Oct 27, 2015 at 22:29 UTC

    Mea culpa; I should pay more attention, and not just assume that two similar-looking binary strings are, in fact, the same. Thanks for the correction.

    Fortunately it's easily-fixed; just use substr in the substitution to chop off the first character:

    ($out = $string) =~ s/(.)/substr unpack('B8', $1), 1/eg;
      Seems like a weird way of writing the following to me:
      $out = map { substr unpack('B8', $1), 1 } $string =~ /./g;