Perl::Critic::Pulp - some add-on perlcritic policies
This is a collection of the following add-on policies for Perl::Critic. They're under a new "pulp" theme, plus other themes according to their function (see "POLICY THEMES" in Perl::Critic).
Perl::Critic
FOO < 123
See Perl::Critic::Policy::ValuesAndExpressions::ConstantBeforeLt.
See Perl::Critic::Policy::Compatibility::ConstantPragmaHash.
! $x == $y
See Perl::Critic::Policy::ValuesAndExpressions::NotWithCompare.
See Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyCommas.
See Perl::Critic::Policy::ValuesAndExpressions::ProhibitNullStatements.
See Perl::Critic::Policy::Documentation::RequireEndBeforeLastPod.
__x
__nx
See Perl::Critic::Policy::Miscellanea::TextDomainPlaceholders.
See Perl::Critic::Policy::ValuesAndExpressions::UnexpandedSpecialLiteral.
Roughly half are bugs and half cosmetic. You can always enable or disable the ones you do or don't want. You'll have realized there's a lot of perlcritic builtin and add-on policies and they range from very helpful to very bizarre, and in some cases mutually contradictory. So it's quite normal to pick and choose what you want reported. If you're not turning off about 1 in 4 and customizing others then either you're not trying or you're much too easily lead!
In a lot of the perlcritic docs, including the Pulp ones here, policy names appear without the full Perl::Critic::Policy::... class name. In Emacs have a look at man-completion.el to automatically get the man page from a suffix part (at point), or ffap-perl-module.el to go to the source.
Perl::Critic::Policy::...
man-completion.el
ffap-perl-module.el
http://www.geocities.com/user42_kevin/man-completion/index.html
http://www.geocities.com/user42_kevin/ffap-perl-module/index.html
In perlcritic's output you can ask for %P for the full name. Here's a good format for your .perlcriticrc, including file:line:column: which Emacs recognises (see Perl::Critic::Violation on the % escapes).
%
verbose=%f:%l:%c:\n %P\n %m\n
perlcritic.el has patterns to match the builtin formats, but it's a lot easier to make perlcritic print file:line:column: in the first place.
http://www.geocities.com/user42_kevin/perl-critic-pulp/index.html
Copyright 2008, 2009 Kevin Ryde
Perl-Critic-Pulp is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
Perl-Critic-Pulp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Perl-Critic-Pulp. If not, see http://www.gnu.org/licenses.
To install Perl::Critic::Pulp, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Perl::Critic::Pulp
CPAN shell
perl -MCPAN -e shell install Perl::Critic::Pulp
For more information on module installation, please visit the detailed CPAN module installation guide.