use lib '.'; use ProcOpen; my $log = IO::Handle->new_from_fd(\*STDOUT, 'w'); my $logfunc = sub { my ($lvl, $msg) = @_; chomp($msg); my $loglvl = ProcOpen::logLvlStr($lvl); print $log "ProcOpen[$loglvl] $msg\n"; }; $ProcOpen::DEBUG = 1; ProcOpen::setLogFunc($logfunc); my ($in, $out, $err); for(my $i=0;$i<20;$i++) { my $p = ProcOpen::procopen(\$in, \$out, \$err, "c:\\perl\\bin\\perl.exe", "testpipe.pl" ); print $in "HELLO\n"; printf "FIRST: %s", scalar <$out>; print $in "HI AGAIN\n"; close($in); while(<$out>) { print "OUT $_"; } print "LOOP DONE\n"; $p->close(); } print "WORKED!!\n";