Как освободить память в Perl?

Мой код выглядит так:

 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 ?

5
задан Abhijeet Kasurde 23 July 2014 в 07:52
поделиться