sub sleep_at_least($) { my $rest = shift; $rest -= sleep $rest while ($rest > 0); } $SIG{ALRM} = sub { print "Alarm!\n"; }; alarm 3; sleep_at_least 10; # wartet trotz des zwischenzeitlich auftretenden Alarmsignals mindestens 10 sec