Perlcritic 认为哈希是用逗号分隔的语句

标签 perl perl-critic

我遇到了 perlcritic 违规,这对于如下代码块没有任何意义:

$object->insert(
    {   
        %defaults,
        name => 'TEST',
        line => 1,
        keywords => 'TEST OBJECT',
        %overrides
    }
);

Perlcritic 1.117 说“逗号用于分隔第 880 行第 4 列的语句。请参阅 PBP 第 68,71 页。”

我只能假设 perlcritic 将这些哈希值错误地识别为代码块。

我通过在每个此类“ block ”的顶部插入“## no comment (ProhibitCommaSeparatedStatements)”来禁用它,但是有更好的方法来处理这个问题吗?

最佳答案

我认为问题在于它被 %defaults%overrides 混淆了。我敢打赌,如果你删除了这些,它就不会再提示了。

前几天我遇到了这个问题,只是还没有写票。

关于Perlcritic 认为哈希是用逗号分隔的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16290978/

相关文章:

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

Perl::Critic: Moose 之后的生活?

linux - 如何将输出格式化为列?

perl - 如果没有分配给任何变量,对象是否可访问?

perl - 我可以重新测试所有已安装的 CPAN 模块吗?

perl - 我如何让 Perl::Critic 与 E.P.I.C 和 eclipse 一起工作?

perl - 如何并行运行 Test::Perl::Critic?

php - 批评 PHP 的 PHP 代码/PerlCritic?

perl - 如何将传递的数组引用直接移到数组?

perl - ctags 对 moops 的支持