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:
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