Thread Perl-Script von Linux nach Windows portieren (24 answers)
Opened by DonKnilch at 2009-09-24 11:19

nichtdort
 2010-10-08 17:19
#141791 #141791
User since
2009-08-20
16 Artikel
BenutzerIn
[default_avatar]
Ich weiss das Thema ist alt aber habe gerade das gleiche Problem gehabt und die Lösung unter http://www.perlmonks.org/?node_id=758068 gefunden.

Guest Shobhit
PS: Ich habe die ssh-Verbindung unter Windows mittels Net::SSH::W32Perl realisiert.

In Net/SSH/Perl.pm gibt es noch einen kleinen Bug bisher dazu. Suche einfach folgende Zeile:
Code: (dl )
my $proto_class = join '::', __PACKAGE__,($proto == PROTOCOL_SSH2 ? "SSH2" : "SSH1");


ersetze es durch:
Code: (dl )
1
2
3
4
5
6
7
    my $proto_class;

if($^O eq 'MSWin32' && $proto == PROTOCOL_SSH2){
$proto_class='Net::SSH::W32Perl::SSH2'
}else{
$proto_class = join '::', __PACKAGE__,($proto == PROTOCOL_SSH2 ? "SSH2" : "SSH1");
}


Hilft nur bei SSH2 aber das reicht meist auch und mit passenden Homedir geht es einwandfrei unter Windows 7 mit ActivePerl 5.10 und Net::SSH::W32Perl::SSH2 sollte natürlich dann installiert sein.

Quote
What path You set, could you please give example?

Try this code:
use File::HomeDir;
$ENV{HOME} = File::HomeDir->my_home;
use Net::SSH::Perl;

or change in Net/SSH/Perl.pm the follow line:
my $home = $ENV{HOME} || (getpwuid($>))[7];
Last edited: 2010-10-08 17:21:39 +0200 (CEST)

View full thread Perl-Script von Linux nach Windows portieren