我遇到了一个奇怪的错误。当我同时使用HTML::DOM
和forks
模块时,forks
模块无法正常运行。
奇怪的是,这只发生在某些机器上,而不发生在其他机器上。例如:
use forks;
use HTML::DOM;
$|=1;
print "before\n";
threads->new( sub {
$|=1;
print "inside\n";
} );
print "after\n";
sleep(3600);
我在标准输出中只看到before
和after
,而不是inside
。它适用于标准threads
,但我不想使用它。
如果我注释掉use HTML::DOM;
行,它会突然开始工作。所以,我的问题是,
HTML::DOM
,forks
的错误,都是......?编辑:它只发生5.8.8 perl,而不是5.10.0。
答案 0 :(得分:2)
鉴于forks
声称提供与threads
相同的界面,我更倾向于针对forks
报告HTML::DOM
。特别是因为forks
是深刻魔术的人,而HTML::DOM
只是一个普通的日常模块。 HTML::DOM
作者不太可能知道你在做什么。
答案 1 :(得分:-2)
问题“已解决”。
我在$PERLLIB
和$PERL5LIB
中有一个奇怪的设置,它们链接到过时库的不存在的目录或目录。一旦我解决了这个问题,forks
就开始正常工作了。
因此,如果您遇到与forks
类似的问题,请检查您的$PERLLIB
和$PERL5LIB
,如果它链接到应该链接的位置。