#!/usr/bin/perl -w use strict; use IPC::Open3; open(STDIN, "<", "NUL") || die "open NUL: $!"; local (*IN,*OUT,*ERR); my $pid = open3(\*IN, \*OUT, \*ERR, "wperl", q(-le), q(my $in = ; print $in+3; print STDERR $in+5)); print IN "5\n"; close IN; my $line = ; print "Out=$line"; $line = ; print "Err=$line"; #### wperl program > out 2>&1 type out #### Out=8 Err=10 #### { open(my $dummy, "<&STDIN") || open(STDIN, "<", "NUL") || die "open NUL: $!"; }