【发布时间】:2018-01-13 04:26:26
【问题描述】:
我有很多经常被调用的旧 Perl 代码,我一直在编写一个新模块,突然间,我在 Apache 的 error_log 中收到了很多警告,它们针对当前正在使用的每个模块.例如,
"my" variable $variable masks earlier declaration in same statement at
/path/to/module.pm line 40 (#1)
Useless use of hash element in void context at
/path/to/another/module.pm line 212 (#2)
代码库的主要布局是一个巨大的脚本,其中包含模块并将请求定向到为网站创建某些页面所需的模块,然后主脚本处理菜单等静态元素。
我当前的项目与这个主脚本分离并且不使用它但是任何时候我使用 ajax 调用我的代码时,还有一些其他的 ajax 调用将使用主脚本,并且警告似乎只出现在这些请求中但仅当我调用我的项目时。
我已经对每个模块进行了 grep,但没有一个模块在其中使用警告(或 -w),我也尝试在主脚本和我自己的项目中使用 no warnings 'all',但它什么也没做。
在这一点上,我不知道下一步该做什么,所以感谢所有帮助,我只是想禁止警告,代码库很旧而且写得不好,所以要纠正每个导致首先警告是不可行的。
Apache 服务器也在运行 mod_perl,如果这可能会有所不同,我觉得这可能与 CGI 有关,但我似乎找不到任何证据。
【问题讨论】:
标签: ajax apache perl cgi mod-perl