in reply to Net::SSH::Perl login

Why do you have the eval { ... } there?

Maybe you want to inspect what happened in the eval { ... } block?

Consider looking at eval and its usage of $@. Maybe you want to print it, just in case there was an unexpected error?

Replies are listed 'Best First'.
Re^2: Net::SSH::Perl login
by ChristieJS (Novice) on Jun 11, 2014 at 10:43 UTC

    Even after removing eval function, still the cursor just blinks and doesn't go further to fetch the command result. I changed my code to be very simple like below:

    use Strict; use warnings; use Net::SSH::Perl; use Net::SSH2; $ENV{HOME} = "PATH"; print "Server Name to Connect:"; chomp($host = <STDIN>); print "User Name to Login:";chomp($LoginName = <STDIN>); print "Password for $LoginName:";chomp($pswd = <STDIN>); #!/usr/bin/perl -w my $command = "date"; my $ssh = Net::SSH::Perl->new($host); my $status = $ssh->login($LoginName,$pswd); my($stdout,$stderr,$exit) = $ssh->cmd($command); print "$stdout\n";

      Hi,

      In your first post eval block, you can print the $@ variable value, it will print any error message if any.

      Here, did you print the $stderr,$exit variables ?

      Enable debugging, This will give you trace information from the cmd method,and should give you some clues about what is going wrong.

      my $ssh = Net::SSH::Perl->new($remote_host, debug => 1);


      All is well