Thread Auslesen von Hash-Keys und selbstaufrufende Funktion
(3 answers)
Opened by reen_sc at 2011-09-15 15:21
Hallo Leute,
da ich nicht wirklich ein Programmierer bin, ich aber etwas codingtechnisch umsetzen muss, brauche ich mal etwas Unterstützung von euch. Hintergrund ist, div. Daten per SNMP und Perl von Netzwerkdevices abzufragen. Das klappt auch schon ganz gut :-) Jetzt möchte ich aber eine Funktion schreiben, welche mir die Forwarding-Database für jedes VLAN von einem Switch abfragt. Auch das funktioniert bereits ohne Probleme, aber ich bin etwas skeptisch, wenn ich 200 SNMP Anfragen (für jedes VLAN) an das Device zur gleichen Zeit stelle (funktioniert zwar, aber irgendwann wird damit wohl schluss sein und das Device könnte abstürtzen). Meine Überlegung ist, nur 10 oder 20 VLAN-Anfragen pro Device parallel zu stellen. Grob gesagt sieht meine Struktur wie folgt aus. Quasi ein Hash of Hashes. Der Key im Unterhash ist immer das entsprechende VLAN (der Value ist nur als Platzhalter hier eingetragen) Code: (dl
)
1 %hash = ( "DEVICE_1" => { "1" => "VLAN_1", Die Funktion die ich schreiben möchte, soll dabei immer den kompletten Hash (also alle DEVICE_x) durchlaufen und aus den Unterhashes stets nur 10 oder 20 keys holen und zwar solange, bis keine Daten mehr in den Unterhashes für jedes Device vorhanden sind. Code: (dl
)
1 sub BUILD_REQUESTS { Kann man das so machen? Wenn ja, wie mache ich den Absprung aus der Schleife nach 10x durchlaufen bzw. wenn z.B. nach 5 Durchläufen keine Elemente im Hash sind? Und kann man das auch mit dem Aufruf der Funktion aus der gleichen Funktion so anstellen??? Fragen über Fragen. Hoffe ich habe es nicht zu verwirrend dargestellt ;-) Vielen Dank im Voraus. mfg Reen Last edited: 2011-09-15 15:24:22 +0200 (CEST) |