Thread daten auslesen benötige hilfe (23 answers)
Opened by quant at 2009-02-10 16:37

Gast Gast
 2009-02-11 11:04
#118783 #118783
Nachdem isch eine halbe Stunde über deinem Code gebrütet habe, (Deklariere Variablen als lokale Variablen, wenn es welche sein sollen, das mach riesige Probleme beim lesen heraus zu finden, welchen Variablen Lokal sein sollen und weche nicht, vor allem wenn Fehler im Code sind.) glaube ich zu erkennen was du im auskommentierten Block versuchst. Das dein Versuch eines Zählers der Events. Aber das kann so nicht funktionieren.
Wo ermittelst du den namen des Events? Ich meine einen eindeutigen Namen. Ich finde in deinem Code ein Zähler "$noe" (ausgeschrieben hätte man sofort weiß was gemeint ist "nr_of_events" ist doch auch nicht so viel mehr zu schreiben) und der ist als eindeutiger Name nicht zu gebrauchen, da er immer hochzählt. Oder ist "$ityp" der eventname? ("27"??) Befindet er sich tatsächlich an der 10ten stelle in "@stuff" (Index 9)? (hast du keinen besseren Namen gefunden? zB. "@splitted_line")

Allso ich würde erstens "strict" und "warnings" nutzen. Ich konnte auf Anhieb mehrer "Schreibfehler" im Code finden (die perl versucht zu Interpretieren), und jede Menge fehlenende Variablendeklarationen. (was ist lokal, was soll global sein??)

Und wenn du die das Auftreten eines Eventtypes zählen willst pack den Eventnamen in einen Hash und zähle sein auftreten hoch. Ungefähr so:

Code (perl): (dl )
1
2
3
4
5
6
7
my %event;
#...
$event{$eventname}++;
#...
if($event{$eventname}>=2){
# mach was
}


Ganz nebenbei. So kann man Scripte schreiben, aber man sollte es nur machen wenn man wirklich sicher in Perl ist, viel Erfahrung hat, genau weiß was man will (die Programmlogik vollständig im Kopf hat) und den Code danch wegschmeißt.
Wenn man sich an ein Problem herantastet, dann kommt man mit unaussagekräftigen Variablen, felende Einschränkugen deren Güligkeit, schlecht eingerückten Code und ohne erklährende Kommentare, in Teufelsküche.
Vor allem wenn man den Code anderen zeigen will, oder nach ein paar Wochen etwas ändern möchte, sollte man sich etwas Mühe geben.

View full thread daten auslesen benötige hilfe