#! perl -slw use strict; use IPC::Open2; $|++; my $pid = open2 \*READ, \*WRITE, 'perl -wne "$|++; chomp; print 1"'; my $read = ''; for ( 1 .. 1e6 ) { # Win32::Sleep( 10 ); printf "\r$_\tGot'$read'\t"; print WRITE 'some command'; sysread( READ, $read, 1024 ); } __END__ c:\test>junk 1000000 Got'1'