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



我得到了一个perlcritical违规,这对于像下面这样的代码块是没有意义的:

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

Perlcritic 1.117说"逗号用于分隔第4列第880行中的语句。"参见PBP的第68、71页。"

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

我通过在每个这样的"块"的顶部插入"## no critic (ProhibitCommaSeparatedStatements)"来禁用它,但是有没有更好的方法来处理这个问题?

我认为问题是它被%defaults%overrides混淆了。我敢打赌,如果你把它们去掉,它就不会再抱怨了。

前几天我碰到了这个问题,只是还没有开罚单。

相关内容

  • 没有找到相关文章

最新更新