OVH Cloud OVH Cloud

Requêtes SNMP dans un package .pm

3 réponses
Avatar
benoitcroissant
Bonjour,
J'ai un programme principal .pl

#!/usr/local/bin/perl
use Equipement;
use Net::SNMP;
$Objet_Machine = Equipement->new($nom,$mac,$ip,$descr,$loc);
$res=$Objet_Machine->fct_time();

et un package Equipement.pm

package Equipement;
#use SNMP_Session;
#use Net::SNMP;
sub fct_time {
my ($objptr) = @_;

my ($session, $error) = Net::SNMP->session(
-hostname => shift || '172.22.10.198',
-community => shift || 'public',
-port => shift || 161
);

if (!defined($session)) {
printf("ERROR: %s.\n", $error);
exit 1;
}

my $sysUpTime = '1.3.6.1.2.1.1.3.0';

my $result = $session->get_request(-varbindlist => [$sysUpTime]);
return $result;
}
1;

Mon problème est lorque j'appelle la méthode fct_time, le prgramme ne
reconnait pas "get_request", alors que j'ai bien inclu Net::SNMP.
Une idée?

Merci.

3 réponses

Avatar
Alain BARBET
package Equipement;
#use SNMP_Session;
#use Net::SNMP;
...

my $result = $session->get_request(-varbindlist => [$sysUpTime]);
Mon problème est lorque j'appelle la méthode fct_time, le prgramme ne
reconnait pas "get_request", alors que j'ai bien inclu Net::SNMP.


je vois pas un commentaire la ou on m'aurait menti ?

Avatar
DominiX
ici même:c92udq$4ku$,
Alain BARBET a écrit
package Equipement;
#use SNMP_Session;
#use Net::SNMP;
...

my $result = $session->get_request(-varbindlist => [$sysUpTime]);
Mon problème est lorque j'appelle la méthode fct_time, le prgramme ne
reconnait pas "get_request", alors que j'ai bien inclu Net::SNMP.


je vois pas un commentaire la ou on m'aurait menti ?


maaaaaaiiiiiiis noooooooooonnnn,
c'est tout simplement du C-perl-perl.
il utilise le pragma "#use" qui est equivalent a "#define", en perl++
... ;-)))


-- dominix


Avatar
Fabrice L.
excellent !


"DominiX" a écrit dans le message news:
40b571a8$0$21560$
ici même:c92udq$4ku$,
Alain BARBET a écrit
package Equipement;
#use SNMP_Session;
#use Net::SNMP;
...

my $result = $session->get_request(-varbindlist => [$sysUpTime]);
Mon problème est lorque j'appelle la méthode fct_time, le prgramme ne
reconnait pas "get_request", alors que j'ai bien inclu Net::SNMP.


je vois pas un commentaire la ou on m'aurait menti ?


maaaaaaiiiiiiis noooooooooonnnn,
c'est tout simplement du C-perl-perl.
il utilise le pragma "#use" qui est equivalent a "#define", en perl++
... ;-)))


-- dominix