use IPC::Open3; local(*START_IN, *START_OUT, *START_ERR); my $childpid = open3(*START_IN, *START_OUT, *START_ERR, 'external.sh'); while () { print; if (/Question1/) { print START_IN "Answer1"; } elsif (/Question2/) { print START_IN "Answer2"; } } #### 8278 zsched 9312 -ksh 590 bash 28268 /usr/perl5/5.8.4/bin/perl ./Interact.pl 28269 /usr/bin/ksh /tools/external.sh 28270 java ExternalPG