Lier une table de hachage à une var tableau

DB601 Messages postés 14 Statut Membre -  
DB601 Messages postés 14 Statut Membre -
Bonjour à tous,

voilà je suis entrain de faire un script en perl

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

1 réponse

DB601 Messages postés 14 Statut Membre
 
besoin de réponse please!!!!
0