in reply to
Re^3: Net::OpenSSH changing directory does not work properly
in thread Net::OpenSSH changing directory does not work properly
Actually, all the methods of Net::OpenSSH support running a shell, even if it doesn't make sense for several of them.
Just, don't pass a command argument and you get a shell. For instance:
$out = $ssh->capture({stdin_data => <<EOS});
ls
foo this
foo that
rm -R /
EOS
# or...
($socket, $pid) = $ssh->open2socket;
print $socket "ls\n";
while (<$socket>) { print };
waitpid($pid, 0);