Les Allergies
Alimentaires
Posez votre question Signaler

Nbar en perl, relation tabl hash & var inconu

DB601 11Messages postés 8 juillet 2010Date d'inscription 25 août 2010Dernière intervention - Dernière réponse le 13 juil. 2010 à 14:04
Bonjour à tous,
voilà je suis entrain de faire un script en perl pour avoir automatiquement les protocoles comme le fait nbar dans snmpwal dans cisco
j'ai défini une table de hachage :
%Nbar =('Fan_1' => 'ftp',  
          'Fan_2' => 'http',  
          'Fan_3' => 'egp',  
          'Fan_4' => 'gre',  
          'Fan_5' => 'icmp',  
          'Fan_6' => 'eigrp',  
          'Fan_7' => 'ipinip',  
          'Fan_8' => 'ipsec',  
          'Fan_9' => 'ospf',  
          'Fan_10' => 'bgp',);   

et Fan est une variable d'un tableau @fan
voilà ma fonction get_fan
sub get_fan() {  
 $ciscoEnvMonFanState='.1.3.6.1.4.1.9.9.244.1.2.1.1.3.1';  
   
   
 my $k;  
 my @fan;  
 my $num=0;  
   
 start_snmp();  
 my @columns = ($ciscoEnvMonFanState);  
 $iffan = $session->get_entries(  
     -columns => \@columns,  
     );  
   
 unless (defined($iffan)) {  
                printf("Fan not fountd. ERROR: %s.\n", $session->error);  
        }  
 foreach $k(keys %$iffan) {  
  $num++;  
                print " Fan_$num: $k \n";  
  push (@fan, $k );   
        }  
        $session->close();  
  return @fan;  
 }  

@fan=get_fan();  

et donc j'ai extrait les valeurs de la table de hachage dans un tableau que j'ai appelé
@nomNbar= values(%Nbar);  

et donc moi par exemple je veux afficher le numéro donc Fan_4 par exemple et le nom du protocole qui lui correspond avec les info spécifique de chaque fan
et là j'ai mis une boucle :
$num=o;  
$j=0;  
Foreach $i (@fan) {  

$num++;  
$j++;  

#donc dans cette ligne je veux afficher genre  Fan_1    FTP  
print XML "\t\t\t\t<item type=\"4\" key=\"$i _ $nomNbar[j]  \" value_type=\"3\">\n";  

#Là y a pas de soucis  
print XML "\t\t\t\t\t<description>FAN $num _status</description>\n";  

#et là le OID approprié à chaque nomNbar  
print XML "\t\t\t\t\t<snmp_oid>$i</snmp_oid>\n";  
          }  


Le problème c'est que soit j'ai le J qui ne change pas pour tous les i, et j'ai essayé de faire autrement et là j'avais le nom mais avec le mauvais OID et le mauvais fan-num
est_ce que quelqu'un peut m'aider!!
merci d'avance
Lire la suite 

Nbar en perl, relation tabl hash & var inconu »

1 réponses
Réponse
+0
moins plus
personne ne répond :((((
Ajouter un commentaire
Ce document intitulé « Nbar en perl, relation tabl hash & var inconu » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?