Perl - Net::SSH:Perl

Résolu/Fermé
Prat - 21 nov. 2008 à 12:06
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 21 nov. 2008 à 16:38
Bonjour tt le monde,

Pourriez-vous m'aider sur un ptit programme en perl ?
Voilà, je souhaiterai me connecter sur un switch hp et récupérer les adresses mac des machines.

Le programme :
use strict;
use Net::SSH::Perl;

my $username="";
my $passwd="";
my $host = "adr_switch";

print header;
my $t = new Net::SSH::Perl (Timeout=>undef) or die "impossible de se connecer";
$t->open($host);
$t->login($username, $passwd);
my @lines = $t->cmd("sh arp");
print join (' ', @lines);

Qd je compile le programme, j'ai un msg :
Can't locate Net/SSH/Perl.pm in @INC (@INC contains: /etc/perl /usr/local/lib/pe rl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/pe rl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at test2.pl line 2.
BEGIN failed--compilation aborted at test2.pl line 2.

Il y a pas un pb aussi avec "new" ?

Merci de votre aide.
A voir également:

3 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
21 nov. 2008 à 13:34
Salut,

Can't locate Net/SSH/Perl.pm in @INC

Le message veut dire que le module Net::SSH::Perl, n'est pas installé sur ton système.
1
J'ai installé le module libnet-ssh-perl et ça s'est installé sans problème.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
21 nov. 2008 à 16:38
Salut,

Ok, d'accord.

Mais quand je vois ça
lami20j@debian:~$ apt-file list libnet-ssh-perl
libnet-ssh-perl: usr/share/doc/libnet-ssh-perl/README
libnet-ssh-perl: usr/share/doc/libnet-ssh-perl/changelog.Debian.gz
libnet-ssh-perl: usr/share/doc/libnet-ssh-perl/changelog.gz
libnet-ssh-perl: usr/share/doc/libnet-ssh-perl/copyright
libnet-ssh-perl: usr/share/man/man3/Net::SSH.3pm.gz
libnet-ssh-perl: usr/share/perl5/Net/SSH.pm
je pense que tu dois écrire
use Net::SSH;
au lieu de use Net::SSH::Perl;
0