in reply to Re^3: tr///c doesn't seem to work as I expect
in thread tr///c doesn't seem to work as I expect

One small point:

In the  tr operator, the  [ and  ] characters have no special meaning. (In a 'normal' regex, they define a character set.) In the expressison (as taken from the OP)
    $data =~ tr/[\ -\~\007\012\015\035\036\037]/ /cs;
the  [ and  ] characters simply represent themselves. This has no effect in this particular case, however, since these characters are also included in the range  \ -\~ that includes, IIRC, all printable ASCII characters. (I think a space qualifies as a 'printable' character.)