note
Marshall
When I test code with ALRM signal, I fiddle with the alarm($num) parameter and often use sleep() to cause the alarm to "trigger" during testing. There are problems with signal handling...in general, there is no way to "safely" continue executing a process after an ALRM signal because many OS functions are not re-entrant or even re-startable by any means. <p>
Update: I strike this last sentence because it upset some folks. No offense was intended.
<strike>
I have no interest in obfuscated, obscure code although I do see that some folks have fun with this as an "art form". </strike><p>
The original question was, why doesn't this code work?
<code>
sub verse4 {
my $boy;
$SIG{ALRM} = sub { say "slip n slide" };
ride( $boy ), kill (ALRM, $$) for (1 .. 3);
sleep 1; map { $_++ } ($ice_cream, $cake);
}
sub ride { say "Whee!" };
</code>
794938
794960