use strict; use warnings; use IPC::Run3; my (@fromme, @tome); ## Setup my input... push @fromme, "3*12\n"; push @fromme, "40*4\n"; ## Do it; running CLI calculator, but could be anything unless (run3( "bc.exe", \@fromme, \@tome, \@tome )) { ## STDIN STDOUT STDERR ...for the program print "ERROR in command\n"; } print "Return code = $?\n"; ## Return output while ($_ = shift @tome) { print "$_"; } __END__ ~~Output~~ Return code = 0 36 160