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


in reply to Re: Net::OpenSSH - line breaks and "End of Output"
in thread Net::OpenSSH - line breaks and "End of Output"

Hi Salva,

the call is a standard one like:
@cmdout = $ssh->capture({timeout => 30}, "show version");

I did send a long run of that by PM - for security reasons.
I'll post all results of the discussion here asap!

thanks for that perfect support!!!
  • Comment on Re^2: Net::OpenSSH - line breaks and "End of Output"

Replies are listed 'Best First'.
Re^3: Net::OpenSSH - line breaks and "End of Output"
by Andy16 (Acolyte) on Jul 31, 2013 at 10:28 UTC
    received from Salva:
    The SSH server running on those routers does not follow the standard. Read the entry "Connecting to switches, routers, etc." from the module + FAQ (https://metacpan.org/module/Net::OpenSSH#FAQ) for an explanatio +n of what is going wrong. A workaround may be to add a "quit" or "exit" command to explicitly en +d the session. For instance: @output = $ssh->capture("$cmd\nexit\n"); if that doesn't work, try this: @output = $ssh->capture({stdin_data => "$cmd\nexit\n"}); otherwise you will have to use Expect to wait for the session prompt, +send the command, get the output until you get the prompt again and c +lose the connection.



    funny:
    my @cmdout = $ssh->capture({timeout => $sshtimeout, stdin_data => "\n"}, $sshcmd."\n");

    seems to do my job....
    :-)
    going on testing ....