2

在 mod_perl 下运行脚本时,如何确保看到所有 Perl 的警告和错误消息?(Apache/2.2.16 (Debian) [...] mod_perl/2.0.4 Perl/v5.10.1)

我觉得我做的一切都正确:我在 httpd.conf 中有“PerlWarn On”,我有

use strict;
use warnings FATAL => 'all';

在我所有的 Perl 文件中,当我自己使用 warn() 时,我在 /var/log/apache2/error.log 中看到了结果。

但是很多消息仍然没有收到我的信息。例如,“无法定位对象方法”永远不会出现在日志中。剧本只是死了,我必须自己弄清楚在哪里以及为什么。

有什么我可能忽略的吗?

4

1 回答 1

1

该声明

use warnings FATAL => 'all';

是一个词法警告 pragma。它仅适用于当前块(在这种情况下是您的脚本),而不适用于您的脚本调用的模块或其他文件。

考虑Carp::Always在所有代码中获取这种行为以进行调试。

于 2013-01-30T15:12:02.833 回答