For me, it's --single-policy
.
Generally, Perl::Critic is being used indirectly via a test using Test::P::C or Test::P::C::Progressive, with a perlcriticrc
file that is in the distribution's t/
directory.
The most common reason I have for running perlcritic
is when there's a Test::P::C::Progressive failure. In that case, I'm looking for violations of an individual policy to fix to get the violation count down.
--single-policy
overrides all other selection criteria for policies. Its value, like the ones for the --include
and --exclude
options, is used as a regex applied against policy names with the /i, /m, and /x options applied to it. So, for example, if I want to scan for violations of Modules::RequireNoMatchVarsWithUseEnglish in the current directory, I can simply say
perlcritic --single-policy english .
When cleaning up a body of code, I find it easier to fix one kind of problem at a time in a bunch of files, rather than fixing all kinds of problems a single file at a time.