open SAVERR, ">&STDERR"; open STDERR, ">>err.log"; # Perl can run the shell # if (open(PIPE, "$cmd <$tempfile |")) { sleep(2); if (-z './err.log') { close SAVERR; process(*PIPE); } # but there is a message in STDERR # else { # print LOG "ERROR: see err.log, exiting...\n"; # close STDERR; open STDERR, ">&SAVERR"; die "Killed.\n"; } }