in reply to Re^2: Net::SSH::Perl script in windows - getpwuid is unimplemented
in thread Net::SSH::Perl script in windows - getpwuid is unimplemented

You didn't use Net::SSH::Win32Perl. Look a little closer at the error. The getpwuid function isn't implemented. That means don't try to run getpwuid. Try $ENV{USERNAME} instead.

Replies are listed 'Best First'.
Re^4: Net::SSH::Perl script in windows - getpwuid is unimplemented
by sthirumalai (Novice) on Feb 25, 2010 at 23:54 UTC
    is that required to use in cygwin environment. also im not calling getpwuid function. here is my code
    use strict; use warnings; use Net::SSH::W32Perl; my $host = 'host'; my $pass = 'pwd'; my $user = 'userid'; my $cmd = 'command'; my $ssh = new Net::SSH::W32Perl( $host, debug => 1, protocol => 2 ); $ssh->login($user, $pass); my($stdout, $stderr, $exit) = $ssh->cmd($cmd); print $stdout, "\n";
    I am running this script in windows activestate perl environment. the script trace is
    Reading configuration data /.ssh/config Reading configuration data /etc/ssh_config Connecting to <hostname>, port 22. Socket created, turning on blocking... Remote protocol version 2.0, remote software version OpenSSH_5.2 Net::SSH::Perl Version 1.34, protocol version 2.0. The getpwuid function is unimplemented at C:/Perl/site/lib/Net/SSH/Per +l/SSH2.pm line 39, <GEN0> line 1.
      Cygwin implements getpwuid. If you are using ActiveState, which doesn't implement getpwuid, then you'll probably have to go into the source at C:/Perl/site/lib/Net/SSH/Perl/SSH2.pm with your editor and change sub _proto_init to this
      sub _proto_init { my $ssh = shift; my $home = $ENV{HOME} || $ENV{USERNAME}; unless ($ssh->{config}->get('user_known_hosts')) { defined $home or croak "Cannot determine home directory, pleas +e set the environment variable HOME"; $ssh->{config}->set('user_known_hosts', "$home/.ssh/known_host +s2"); }
      my $home should read:
      my $home = $ENV{HOME} || $ENV{USERNAME};
      I have fixed this problem on windows, I have defined a enviroment variable HOME.
        could you explain how did you set it? You mean you have set the Windows Home variable, but with what path?