我得到了一个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
混淆了。我敢打赌,如果你把它们去掉,它就不会再抱怨了。
前几天我碰到了这个问题,只是还没有开罚单。