in reply to why single channel is not supporting multiple cmds in NET::SSH::PERL

That's because $ssh->cmd is not for interactive use. Each $ssh->cmd is executed over the same channel, but not with the same shell.

Please read the section $ssh->shell in Net::SSH::Perl.

Note that in the Win32 extension the shell command is not available according to the Net::SSH::W32Perl documentation.

To chain commands you have to write them in a chain in shell syntax for $ssh->cmd, i.e.

$ssh->cmd("cd /Net::SSH::Perl && ls -lrt");

--shmem

just another note - in many of your posts, you misspell working as wroking, which is worng ;) say working.

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}