in reply to
How to call a script interactively from perl
Here is a simple usage of IPC::Open3 showing how to write to your STDIN.
#!/usr/bin/perl
use warnings;
use strict;
use IPC::Open3;
#interface to "units" calculator
#my $pid = open3(\*WRITE, \*READ, \*ERROR,"units -t"); #terse output
my $pid = open3(\*WRITE, \*READ, 0 , "units -t");
#if \*ERROR is set to 0, STDERR is sent to STDOUT
#chomp(my $prompt = <READ>);
#print "$prompt\n";
foreach ( '100 yards', '1 mile', '1 kilometer', '1 parsec', '1 foobar'
+){
print WRITE "$_\n meters \n";
chomp(my $answer = <READ>);
print "$_ = $answer meters\n";
}
__END__