Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Force 2 'ctrl-c's to kill program

by BrowserUk (Pope)
on Feb 11, 2013 at 17:22 UTC ( #1018193=note: print w/ replies, xml ) Need Help??


in reply to Force 2 'ctrl-c's to kill program

Try this:

#! perl -slw use strict; use 5.010; use Time::HiRes qw[ time sleep ]; $|++; $SIG{ INT } = sub { state $last = 0; if( ( time - $last ) > 2 ) { $last = time; return; } die 'Interupted by ^C^C'; }; while( 1 ) { printf "\rtum te tum: %f", time; sleep 0.1; }

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.


Comment on Re: Force 2 'ctrl-c's to kill program
Download Code
Re^2: Force 2 'ctrl-c's to kill program
by albob (Novice) on Feb 11, 2013 at 17:34 UTC
    This certainly seems to work. Must get my head around what it is doing now. Thanks.
      Must get my head around what it is doing now.

      $SIG{ INT } = sub { ## State makes $last a closure; that is a variable that remember' +s its value ## between invocations of the subroutine state $last = 0; ## if the time now is greater than 2 seconds later than the last +time we saw a ^C if( ( time - $last ) > 2 ) { ## Overwrite the last time with the current time $last = time; ## And just return; ignoring this ^C return; } ## However, if it is less than 2 seconds; die. die 'Interupted by ^C^C'; };

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        Ah, that makes a lot of sense. "State" was new to me (not using 5.010 yet) so threw me a little. Cheers

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (14)
As of 2014-07-11 15:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (230 votes), past polls