Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: CTRL+C Regular Expression

by Athanasius (Chancellor)
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

Replies are listed 'Best First'.
Re^2: CTRL+C Regular Expression
by wirito (Acolyte) on Nov 07, 2012 at 11:31 UTC
    $ 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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1002642]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2017-06-27 05:34 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (598 votes). Check out past polls.