##
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