Utiliser une value dans un hash pour la value d'une autre clé dans le même hash
Bon, OK, le titre est pas super explicite.
Voici ce que je voudrais faire : j'ai une structure me permettant de manipuler des OIDs SNMP. Ma structure devrait ressembler à ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| $ntqOids = {
"RootOID" => {
oid => ".1.3.6.1",
},
"TotoOID" => {
oid => $ntqOids->{"RootOID"}->{oid}.".4.0.11111",
},
# Common Oids
"AT" => {
oid => $ntqOids->{"RootOID"}->{oid}.".2.1.3",
table => $ntqOids->{"AT"}->{"oid"}.".1",
entry => $ntqOids->{"AT"}->{"table"}.".1",
entries => {
"Index" => $ntqOids->{"AT"}->{"entry"}.".1",
"PhysAddr" => $ntqOids->{"AT"}->{"entry"}.".2",
"NetAddr" => $ntqOids->{"AT"}->{"entry"}.".3"
},
},
}; |
Le problème, c'est que $ntqOids->{"TotoOID"}->{oid} me retourne "seulement" '.4.0.11111' alors qu'il devrait contenir '.1.3.6.1.4.0.11111'
Code:
1 2 3
| print "===>".$ntqOids->{"TotoOID"}->{oid}
## ===> .4.0.11111
## Devrait être .1.3.6.1.4.0.11111 |
Le problème est le même pour $ntqOids->{"AT"}->{entries}->{"Index"}
Comment se fait-ce ?
Que fait-je de faux ?
Merci d'avance pour votre aide !
Ch'Portos.