perl – 如何调查“尝试释放未引用的标量”

Perl脚本(使用大量本地编写的模块,并且正在积极开发中)刚刚开始产生零星的

“尝试释放未引用的标量:SV 0xa6e685c,Perl解释器:
在全球销毁期间,0x96d9008.“

消息.这总是可重复的,因为特定的命令序列总是会产生消息,但是我没有设法隔离出一个简单或独立的案例来引发它.特别是,从Perl调试器运行脚本时我还没有看到它(我可以在调试使用IPC :: Open3来运行目标脚本的脚本时得到它.)

我意识到这可能只是Perl中的一个错误,但更有可能是我正在做的事情,很可能是我对SVN :: Client的调用;但我很难找到一种方法来调查它,我想知道是否有人有任何指针.

Perl 5.10.0;各种版本的Fedora Linux.我将在Perl 5.12上尝试它,但除非它也在那里出现,否则它对我没有帮助.
编辑:在5.12中可靠地给出消息的特定情况不在5.12中.不幸的是,这并没有真正告诉我什么.

解决方法

迟到的答案,但我写了一篇关于这个特定主题的长篇文章,应该有助于调试: The Dreaded “Attempt to free unreferenced scalar”.

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...