Thread Löschen von Hash-Elementen (war: Der Fehler???) (5 answers)
Opened by Matze at 2005-09-18 22:53

Matze
 2005-09-18 22:53
#58157 #58157
User since
2005-08-29
222 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo!

Ich habe eine Struktur, HASH->HASH->ARRAY, zum start des Programmes durchlaufe ich diese Struktur, um in der Struktur altes zu loeschen und aktuelles anzuzeigen.

Doch beim loeschen funktioniert was nicht . . .
Er loescht zweimal das gleiche, wonach natürlich ein Fehler auftritt:
Use of freed value . . .

Der Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  foreach $name (%$ref) {
   bb:foreach my$dat (%{$ref->{$name}}) {
     if ($dat eq "$datum") {
foreach my$term (@{$ref->{$name}{$dat}}) {
 printf "$tab %-10s: %-40s\n", $name, $term;
}
next bb;
     }

     my @dat = split ".",$dat;

     if ($dat[0] =~ /^0/) {
substr ($dat[0],0,1) = "";
     }
# # # # # # # # # # # # # # # # # # # # #
     if ($dat[0] <= $max && $val == 1) {
delete $ref->{$name}{$dat};
print "Geloescht!!\n";
     }
# # # # # # # # # # # # # # # # # # # # #
   }
 }


Ich weiß einfach net warum er 2x das gleiche löscht.

MfG. Matze
Mit freundlichen Grüßen: Matze

View full thread Löschen von Hash-Elementen (war: Der Fehler???)