PDA

Visualizza la versione completa : SSH2 e Perl


basileus
07-11-2010, 15:24
ciao a tutti

il modulo SSH2 mi funziona bene

ho solo un problema

utilizzo anche il modulo Tk

prendendo righe di testo, volevo passarle al protocollo ssh2



mi esegue solo la prima riga, le altre no


$ssh2->connect('192.168.0.2') or die "Unable to connect Host $@ \n"; $ssh2->auth_password('User','password') or die "Unable to login $@ \n";
my $exec=$text->get('0.0','end'); # qui inserisco nella variabile tutto il contenuto
my $chan; $chan = $ssh2->channel();
$chan->blocking(0);
foreach my $line (split "\n",$exec)
{
$chan->exec("cmd /c $line"); #utilizzo windows-windows
while (<$chan>){ print }
}

facendo un
print "$line\n"; le esegue tutte le righe

un modo per risolvere???

basileus
09-11-2010, 12:27
il problema precedente l'ho risolto, dovevo creare tanti canali quante erano le righe

ultima cosa

volevo sapere come eseguendo lo script, quest'ultimo capisce se sotto linux o sotto windows

mi serve per eseguire delle subroutine

per esempio

if (sistema_operativo eq 'linux')
esegui sub1;
} else {
esegui sub2;
}


grazie

g.bechis
15-02-2011, 19:58
Puoi utilizzare la variabile $^O.

$ perl -e 'printf("%s\n", $^O)'
openbsd

Loading