Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Signal Handling

by lidden (Curate)
on May 13, 2012 at 08:59 UTC ( #970257=note: print w/ replies, xml ) Need Help??

in reply to Signal Handling

You can set set the handler to a subroutine.

$SIG{INT} = sub { <code goes here> };

See perldoc perlipc.

Comment on Re: Signal Handling
Select or Download Code
Re^2: Signal Handling
by anshumangoyal (Scribe) on May 21, 2012 at 06:35 UTC
    Is there any other work out. Actually I want to write a Interrupt Subroutine which should take Parameters. This way it's not going to work.

      I can't imagine how you would send a SIGINT with a parameter but you can do whatever you want in the subroutine you assign to SIGINT. Just remember that you want to return control to the system ASAP once you're in the handler. Maybe something like this would work for you...

      $SIG{INT} = sub { my $obj = Whatever->new(); process_interrupt($obj) };
      Well, often what you want to do is something like:

      $SIG{INT} = sub { our $sigint_gotten = 1;}; # Later in the code if(our $sigint_gotten){ our $sigint_gotten = 0; deal_with_it($arg1, $arg2, ...); }

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (6)
As of 2015-07-03 18:00 GMT
Find Nodes?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...

    Results (55 votes), past polls