Мой код выглядит так:
my %var;
my %var_new={};
while(1){
while(my ($k,$v)=each %var){
&a_sub($v);
}
%var={}; # A
map { $var{$_}=$var_new{$_}; } keys %var_new;
%var_new={}; # B
}
sub a_sub { #....} # will fill %var_new
Моя программа использует все больше памяти.
Кажется, Perl не освобождает память в строках A и B.
Как я могу вручную заставить Perl освободить используемую память % var
и % var_new
?