in reply to Use of freed value in iteration
For example, the following code will produce the "Use of freed value in iteration" error:
but say some_function does a bunch of other stuff. Is it possible for the value of the second item in the foreach loop to spring back into existence? For example, if some_function reuses the memory location that $hr3->{$values[1]} once used?my $hr1 = {}; my $hr2 = {}; my $hr3 = {"$hr1" => $hr1, "$hr2" => $hr2}; my @values = sort values %$hr3; print "@values\n"; foreach my $v (sort values %$hr3) { print "$v\n"; delete $hr3->{$values[1]}; # some_function() }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Use of freed value in iteration
by Danny (Chaplain) on Feb 11, 2024 at 23:06 UTC | |
by swl (Prior) on Feb 12, 2024 at 21:26 UTC | |
by Danny (Chaplain) on Feb 12, 2024 at 23:02 UTC | |
by swl (Prior) on Feb 12, 2024 at 23:30 UTC | |
by choroba (Cardinal) on Feb 13, 2024 at 12:46 UTC | |
| |
by Danny (Chaplain) on Feb 13, 2024 at 17:30 UTC |