Perlcritic 配置 - 查找生成错误的策略的名称?

标签 perl perl-critic

我正在尝试开始使用 Perlcritic,并且我正在改进我自己的配置,忽略所有我不同意或认为不适合我的规则。

我知道我可以使用 .perlcrirticrc 文件来做到这一点,并且我可以使用该文件中的 exclude 指令来排除我不同意的政策,但要做到这一点,我需要找到该政策的名称导致我想抑制的错误。

我无法在任何地方的 CPAN 文档中找到策略列表,并且错误消息没有给出正在生成的策略的名称,所以我完全不知道我应该如何生成我的排除列表。

如果有人能指出一种将错误映射到策略的方法,或者甚至只是指出核心中的策略列表,我将不胜感激!

最佳答案

根据 How do I make Perl::Critic show the offending policy in its output?,非常不直观的 --verbose 标志正是您想要的。

gdarcy@greg-pc:~$ perlcritic --verbose 8 src/Some/Module.pm
[TestingAndDebugging::RequireUseStrict] 在第 19 行第 1 列启用限制之前的代码。(严重性:5)
[Variables::RequireLexicalLoopIterators] 循环迭代器在第 1899 行第 4 列不是词法的。(严重性:5)
[Variables::RequireLexicalLoopIterators] 循环迭代器在第 1911 行第 4 列不是词法的。(严重性:5)
[Variables::RequireLexicalLoopIterators] 循环迭代器在第 2487 行第 4 列不是词法的。(严重性:5)
[Variables::RequireLexicalLoopIterators] 循环迭代器在第 3902 行第 2 列不是词法的。(严重性:5)

关于Perlcritic 配置 - 查找生成错误的策略的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8184663/

相关文章:

perl - 如何仅从 Perl 程序的主包获取跟踪输出

perl - 为什么在 Perl 的列表上下文中使用菱形运算符时出现关闭的文件句柄错误?

Perl Excel 解析器截断列

perl - 模块以 "1;"结尾,perlcritic 提示它没有

perl - 我是否需要在调用 Win32::OLE->LastError 时捕获错误?

perl - 禁用整个文件的评论家 - Parse::RecDescent 预编译解析器和 PerlCritic/Tidyall

regex - 在可选的连字符正则表达式之间捕获单词

perl - Bugzilla-VCS 安装 Extension.pm 中出现错误

perl - 当我处理带有文件句柄的多行字符串时,如何避免 Perl::Critic 警告?