kill TERM => $pid; #### my $pid = open(my $fr_chld, '-|', $^X, -le => '$|=1; { print ++$i; sleep 1; redo; }' ); print scalar <$fr_chld> for 1..4; #kill TERM => $pid; close($fr_chld); if ($? & 127) { require Config; my @sig_names = split ' ', $Config::Config{sig_name}; print("Child died from SIG$sig_names[$? & 127]\n"); } elsif ($? >> 8) { print("Child exited with error ", ($? >> 8), "\n"); } else { print("Child exited successfully\n"); } #### 1 2 3 4 Child died from SIGPIPE