Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

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

by james2vegas (Chaplain)
on Sep 04, 2009 at 20:42 UTC ( [id://793592]=note: print w/replies, xml ) Need Help??


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

From perlop:
The character "-" is treated specially and therefore "\-" is treated +as a literal "-".


The - indicates a range.

if($data !~ /^[\ \-\~\007\012\015\035\036\037]*$/) { $data =~ tr/[\ \-\~\007\012\015\035\036\037]/ /cs; }
is probably what you need.

Replies are listed 'Best First'.
Re^4: tr///c doesn't seem to work as I expect
by AnomalousMonk (Archbishop) on Sep 04, 2009 at 23:42 UTC

    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.)

Re^4: tr///c doesn't seem to work as I expect
by romandas (Pilgrim) on Sep 04, 2009 at 20:57 UTC
    Thanks. Given the rest of the code (not shown), actually the range makes a lot more sense. It might not be 'correct', but I at least understand what's going on now. :)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://793592]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-03-29 08:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found