Lier une table de hachage à une var tableau
DB601
Messages postés
14
Statut
Membre
-
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
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
A voir également:
- Lier une table de hachage à une var tableau
- Tableau word - Guide
- Table ascii - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
- Table des matières word - Guide
- Imprimer tableau excel sur une page - Guide