#!/usr/bin/perl -w use strict; package TestObject; sub new { my $class = shift; my $self = {}; bless $self,$class; } sub somesub { my $self = shift; print "Called somesub\n"; } sub DESTROY { my $self = shift; print "DESTROY\n"; } package main; print "Entering execute\n"; &execute; print "Execute completed\n"; sub execute { my $req = TestObject->new or die "Couldn't create TestObject\n"; print "Created TestObject\n"; local $SIG{INT} = sub { $req->somesub }; print "Set \$SIG{INT}\n"; sleep(1); print "Done with execute\n"; }