内存泄漏HTML :: TreeBuilder中

我有一些Perl代码:

use HTML::Parse; use HTML::FormatText; # ... my $txtFormatter = HTML::FormatText->new(); while ( ... ) { # some condition my $txt = # get from a file my $html_tree = HTML::TreeBuilder->new_from_content($txt); $txt = $txtFormatter->format($html_tree); $html_tree->delete(); # write $txt to a file } 

我注意到perl.exe进程的大小稳步增加(在200万次左右的循环迭代后最多可达600 MB)。 如果我拿出HTML::TreeBuilder东西,它根本不增加。 有什么我可以做的堵塞这个泄漏?

Solutions Collecting From Web of "内存泄漏HTML :: TreeBuilder中"

我不能用下面的脚本复制这个:

 #!/usr/bin/perl use strict; use warnings; use File::Slurp; use HTML::FormatText; use HTML::TreeBuilder; my $formatter = HTML::FormatText->new; my $html = read_file 'test.html'; while ( 1 ) { my $tree = HTML::TreeBuilder->new_from_content( $html ); $formatter->format( $tree ); $tree->delete; } 

我让这个脚本运行了几分钟,内存使用率(在任务管理器)保持在7200K到7,300K之间。

  E:\首页> perl -v

这是为MSWin32-x86-多线程构建的perl v5.10.1
 (有2个注册的补丁,详情参见perl -V)

版权所有1987-2009,Larry Wall

由ActiveState http://www.ActiveState.com提供的二进制版本1006 [291086]
建于2009年8月24日13:48:26 
  E:\ Home> perl -MHTML :: TreeBuilder -e“print $ HTML :: TreeBuilder :: VERSION”
 3.23 
  E:\ Home> perl -MHTML :: FormatText -e“print $ HTML :: FormatText :: VERSION”
 2.04