Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1422 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [résolu][PERL]variable bizzare

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu][PERL]variable bizzare

n°1341732
tifrere
Junos power
Posté le 07-04-2006 à 18:32:13  profilanswer
 

Bonjour,  
 
étant un habitué du php, je me suis décidé à apprendre perl plus adapté pour des scripts système que le php. Donc c'est mon premier script perl soyez pas trop dur s'il est pas très propre :-)
 
Le script actuel qui me pose problème me permet de faire un appel snmp pour récupérer des données.
 
Je vais essayer de détailler mon problème le plus simplement possible
 
je récupère dans une base de données une liste d'équipements dans une table de hashage  : %equipement
- la clé de la table est la clé unique du tuple dans la bdd
- il y a 2 attributs : l'adresse ip et la communauté snmp
 
ex :  
$equipement{12}{ip} ; // 127.0.0.1
$equipement{12}{community} ; // public
 
je récupère dans cette base de données une liste d'OID snmp pour lesquelles je dois récupérer des infos : @oid_list  
une liste d'OID.
 
voici mon probleme :  
 

Code :
  1. my ($session, $error) = Net::SNMP->session(
  2.   -hostname => $equipment{$equipment_id}{ip};,
  3.   -community => $equipment{$equipment_id}{community});
  4. $result = $session->get_request(-varbindlist => \@oid_list);
  5. if (! defined($session)) { printf("ERROR: %s.\n", $error); exit 1; }
  6. $session->close;
  7. #la j'affiche les résultats
  8. foreach my $oid (@oid_list) { print "[".$oid."]->[".$result->{$oid}."]\n"; }


 
et j'ai l'erreur suivante :  
pour toutes les lignes :  
Use of uninitialized value in concatenation (.) or string at perl_poller.pl line 155.
 
la ligne 155 c'est celle la :

Code :
  1. foreach my $oid (@oid_list) { print "[".$oid."]->[".$result->{$oid}."]\n"; }


 
MAIS j'ai fait qq tests avec le code suivant :  
 
 

Code :
  1. my $hostname = $equipment{$equipment_id}{ip};
  2. my $community = $equipment{$equipment_id}{community};
  3. my $hostname2 = "192.168.17.11";
  4. my $community2 = "public";
  5. print "HOSTNAME : $equipment{$equipment_id}{ip} / COMMUNITY : $equipment{$equipment_id}{community}\n";
  6. print "HOSTNAME 2 : $hostname2 / COMMUNITY2 : $community2\n";


 
$hostname et $community sont les valeurs issues de ma table de hashage  remplie via la bdd
 
$hostname2 et $community2 sont les memes valeurs entrées en DUR.
 
dans les 2 cas ca s'affiche correctement :  
 

Citation :

print "HOSTNAME : $equipment{$equipment_id}{ip} / COMMUNITY : $equipment{$equipment_id}{community}\n";
 print "HOSTNAME 2 : $hostname2 / COMMUNITY2 : $community2\n";


 
par contre :  
La j'ai toujours la meme erreur

Code :
  1. my ($session, $error) = Net::SNMP->session(
  2.   -hostname => $hostname,
  3.   -community => $community);


La ca marche sans soucis, il va bien chercher la variable SNMP

Code :
  1. my ($session, $error) = Net::SNMP->session(
  2.   -hostname => $hostname2,
  3.   -community => $community2);


 
 
Je comprends pas les 2 variables s'affichent et contiennent la meme chose.
 
qqn aurait une solution ?


Message édité par tifrere le 08-04-2006 à 01:02:03
mood
Publicité
Posté le 07-04-2006 à 18:32:13  profilanswer
 

n°1341887
tifrere
Junos power
Posté le 08-04-2006 à 01:02:44  profilanswer
 

update
 
bon j'ai fait des tests, relu mon script
 
en fait une accolade mal placée faisaient que des variables ne s'initialisaient pas
 
maintenant ca marche :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [résolu][PERL]variable bizzare

 

Sujets relatifs
[RESOLU] créer un tableau dynamique en php[PHP][GD][Résolu] Création de bordure en fondu
[perl]effacer répétitions dans une liste[VB.NET] Creer une petit navigateur web [Résolu]
[RESOLU] question tres simple sur nombre de caracteres a l'ecriture[Résolu] Mauvaise incrémentation du NumeroAuto dans Access
[Résolu] Parametre d'une fonctionpeut-on utiliser une variable d'un userform dans une formule classiqu?
[Perl] question relativement facile.[Résolu][VBA][Access] Appel de proc stock SQL SERVER
Plus de sujets relatifs à : [résolu][PERL]variable bizzare


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR