in reply to Re^2: Net::Openssh spawn other process than shell
in thread Net::Openssh spawn other process than shell

Think about my sx thingie like it's gnu screen

Then, you should look at the options provided by that command for controling its subprocesses.

I didn't found method which allows "connection" to be kept between system() or capture() calls

SSH just doesn't work that way. Read Can not change working directory on the module FAQ for an explanation.

Another option is to use the talk-to-the-shell approach, where you start a remote shell and use its stdio streams to send commands to it and read the output back. But that can be really troublesome as there is not an easy way to know when some remote command has ended other than checking for the shell prompt (which is not very robust).

BTW, if you want to get the output of the remote commands, you may like to use the capture* methods instead of system.