Beefy Boxes and Bandwidth Generously Provided by pair Networks Bob
laziness, impatience, and hubris
 
PerlMonks  

Re: CTRL+C Regular Expression

by Athanasius (Prior)
on Nov 07, 2012 at 06:48 UTC ( #1002642=note: print w/ replies, xml ) Need Help??


in reply to CTRL+C Regular Expression

AFAICT, there are 2 possibilities:

(1) You are sending a Ctrl-C from one process to another. In that case, forget about regexen — you need a signal handler. See Signals.

(2) You are sending “\x03” as the argument to a subroutine within the same process. In that case, it makes sense to match it with a regex. And there are two options:

(2a) Suppress interpolation and match the string character-by-character. That is in fact what you did in the OP, which does print Matched !! contrary to the claim made there.

(2b) Interpolate and match with \cC in the regex, as per Kenosis’s original answer:

16:46 >perl -Mstrict -wE "say 'Matched !!' if '\x03' =~ /\\x03/;" Matched !! 16:46 >perl -Mstrict -wE "say 'Matched !!' if qq[\x03] =~ /\\x03/;" 16:46 >perl -Mstrict -wE "say 'Matched !!' if qq[\x03] =~ /\cC/;" Matched !! 16:46 >

Hope that helps,

Athanasius <°(((><contra mundum


Comment on Re: CTRL+C Regular Expression
Download Code
Re^2: CTRL+C Regular Expression
by wirito (Acolyte) on Nov 07, 2012 at 11:31 UTC
    Also:
    $ perl -e '"\x03" =~ /\x03/ and print "Matched!\n"' Matched! $ perl -e 'chr(3) =~ /\x03/ and print "Matched!\n"' Matched! $ perl -e '3 =~ /\x03/ and print "Matched!\n"'

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2014-04-19 14:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (482 votes), past polls