http://www.perlmonks.org?node_id=893356

dwalin has asked for the wisdom of the Perl Monks concerning the following question:

Hello wise brethren, calling for your aid again. The question is simple this time: is there a way to pass Net::OpenSSH master connection socket to exec()'d process? Something like this:
#!perl -w use Net::OpenSSH; my $ssh = Net::OpenSSH->new("hostname"); if (my $pid = fork) { # wait for children, do something } elsif ($pid == 0) { exec "another_perl_script"; } __END__ another_perl_script: #!perl -w use Net::OpenSSH; # do something to retrieve master connection my $ssh = Net::OpenSSH->... $ssh->system("remote command"); ...

Perhaps I wasn't attentive enough but I can't find a way to pass master socket to new(). I can pass it the same control directory but that results in Net::SSH creating another master connection.

Thanks in advance!

Regards,
Alex.