while (TwoOrMoreAlive()) { for my $robot (@ArrayOfRobots) { eval { local $SIG{ALRM}=sub{ die }; alarm(1); $robot->Process(); alarm(0); }; } }