use IPC::Open2; my ($read, $write); my $pid = open2($read, $write, 'C:/Cygwin/bin/ssh -vv -o PreferredAuthentications=publickey user@domain.com'); if ($@) { print STDOUT "error"; } print $write 'ls'; close $write; my @lines = <$read>; close $read; waitpid $pid, 0; print STDOUT "Output: @lines\n";