Thread Ein Hash nach bestimmten Vorgaben füllen
(1 answers)
Opened by mordur at 2007-04-26 16:39
Du kannst ja die Daten nach den sharednetworkIDs sortieren und dir jede einzeln merken.
Hier ein Beispiel: Code: (dl
)
1 #!/usr/bin/perl Die IDs sind hier am Anfang in einem Skalar. Mit split() und map{} trenne ich die IDs voneinander und mit sort{} sortiere ich sie nach der sharednetwordID, dass Ergebnis wird dann @sorted zugewiesen. In $hash werden die Daten gesammelt. In $last speichere ich zu jeder sharednetword ID deren Platz in $hash. $actpos ist die aktuelle Position beim einsortieren der Daten. Durch das Sortieren am Anfang wird sichergestellt, dass sich keine Einträge aus $hash überschneiden. Also dass jeder Eintrag seinen Bereich von START zu END bekommt und kein anderer Eintrag einen Teil dieses Bereichs mitnutzt. An der Ausgabe kann man schön erkennen, dass z.B. die Cids 5, 3 und 8 zusammengehören, da der END Punkt des einen jeweils der START Punkt eines anderen ist. MfG |