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

Matching strings with non-word characters

by chas (Priest)
on Apr 17, 2006 at 13:14 UTC ( #543808=perlquestion: print w/replies, xml ) Need Help??
chas has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to match strings such as "X \ n a x" which appear in spam email so I can filter. I can do this but not in a completely satisfactory way. I guess I've just gotten myself confused, but I don't understand why
$_="X "; if(m'X\ '){print "OK1\n";} $_='X\ '; if(m'X\ '){print "OK2\n";}
produces "OK1" only. I would expect the first match to fail and the second to succeed. Thanks for any comments!

Replies are listed 'Best First'.
Re: Matching strings with non-word characters
by Tanktalus (Canon) on Apr 17, 2006 at 13:19 UTC

    That's because \ is a special character. Thus, you need to escape it if you want it to appear literally. To escape it, just use a backslash - thus, you get m'X\\ '. Although I think the single-quote as a seperator is a bit wierd.

      Thanks! I used single quote as separator because I thought that would make the "\" not considered special. I guess that is wrong. (Using single quote prevents interpolation in patterns, though.)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://543808]
Approved by Tanktalus
[marto]: hey Corion, how's tricks?
[Corion]: marto: Currently all well - work is even OK currently ;) I should start translating my WWW::Mechanize:: Chrome talk to English and recheck that my demos all work, but I have two weeks for that still :)
[Corion]: So, most things are looking good :-D
[Corion]: I should write some more code for my Jekyll clone, but I don't feel like it, so maybe I should just let that linger instead ;)
[karlgoethebier]: "...mein enemy..."
[marto]: it has finally stopped raining!

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (8)
As of 2017-07-26 10:46 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (390 votes). Check out past polls.