#!/usr/bin/perl package A; $SIG{__DIE__} = sub { end_request(@_); }; sub end_request { print @_; next LOOP; } print "start\n"; $x = 0; LOOP: while($x != 5) { $x++; #die "die\n" if $x == 3; end_request("die\n") if $x == 3; } print "end\n";