Net::SSH::Perl's new method is documented as Net::SSH::Perl->new($host, %params). Trymy $ssh = Net::SSH::Perl->new($host, debug=>1, use_pty=>1 );
#-- authenticate
$ssh->login($user, $password);
update - never mind, 'view source' let me see that the new appears to be OK.
Your use strict(); is wrong, that may be part of your problem.
$ perl -lE'
> use strict();
> say $x;
> '
$ perl -lE'
use strict;
say $x;
'
Global symbol "$x" requires explicit package name at -e line 3.
Execution of -e aborted due to compilation errors.
$