--exclude 和 --include 选项最适合在命令行中临时调整策略集。要定义您的默认策略集,您应该在 .perlcriticrc 文件中单独启用/禁用它们。其实很简单:
$> perlcritic --profile-proto > ~/.perlcriticrc
现在 ~/.perlcriticrc 将包含所有策略及其默认配置参数,以及每个策略的简要说明。通过在每个策略的名称前添加“-”来禁用您不喜欢的策略,如下所示:
[TestingAndDebugging::RequireUseStrict] # This policy is enabled (default)
[-TestingAndDebugging::RequireUseWarnings] # This policy is now disabled
默认情况下,Perl::Critic 可以从您没有明确禁用的任何策略中进行选择。因此,如果您只打算使用少数几个策略并且您不想通过并禁用 97 种不同的策略,那么请考虑使用 --only 选项,它告诉 Perl::Critic 仅从以下策略中进行选择您在 .perlcriticrc 中明确启用。
请记住,.perlcriticrc 文件只定义了 Perl::Critic 可以选择的默认策略。您始终可以通过在命令行覆盖 --severity、--theme 或 --exclude 选项来选择这些策略的子集。
正如其他人指出的那样, --verbose 选项允许您配置每条消息显示的信息(包括策略名称等)。例如,如果您想查看“POLICY_NAME: MESSAGE at LINE”,您可以这样做:
$> perlcritic --verbose '%p: %m at line %l\n' MyModule.pm