use POSIX 'WNOHANG'; $SIG{CHLD} = sub { 1 while waitpid(-1,WNOHANG) };