Thread Frage zu Datenstruktur (24 answers)
Opened by Kai at 2010-03-01 14:43

pq
 2010-03-01 22:17
#133839 #133839
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
was du da machst, ist wieder zwei datenstrukturen vermischen.

du machst das hier:
$Host_Records{ $_[0] } = 1;

und dann das hier:
$Host_Records{$_[0]}->{TP}->{$_[1]} = 1;

das ist kein wunder, dass nicht alles gedumpt wird, wenn das mehrmals aufgerufen wird. du setzt Host_Records{ $_[0] } ständig wieder auf 1 (*). damit überschreibst du den zuvor angelegten hash, der durch meine zweite zitierte zeile angelegt wird. wieso tust du das?

vielleicht solltest du mal ein bisschen was zum thema lesen, es kommt mir im moment so vor, als versuchst du code-stücke, die du hier bekommst, einfach zusammenzusetzen, wie es richtig erscheint, aber du weisst nicht, was sie machen.
http://p3rl.org/perlreftut
http://p3rl.org/perldsc

(*) edit: bzw. durch deine if-abfrage wird jeder host eh nur einmal behandelt, aber ich dachte, es gäbe mehrere zeilen mit denselben hosts. ich versteh nicht, wieso du eine if-abfrage machst. willst du nicht alle zeilen einfach sammeln? dann lass die if-abfrage und mach einfach
$Host_Records{$_[0]}->{TP}->{$_[1]} = 1 usw.

vorher prüfen, ob schon was drinsteht, kannst du auch so:
$Host_Records{$_[0]}->{TP}->{$_[1]} ||= 1
Last edited: 2010-03-01 22:21:02 +0100 (CET)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Frage zu Datenstruktur