Annotated Perl::Critic Policy Index

Generated 2022-09-30 08:07:35 UTC

Found 353 policies


Perl::Critic::Policy::Bangs::ProhibitBitwiseOperators
P/PE/PETDANCE/Perl-Critic-Bangs-1.12.tar.gz
Bitwise operators are usually accidentally used instead of logical boolean operators.

Perl::Critic::Policy::Bangs::ProhibitCommentedOutCode
P/PE/PETDANCE/Perl-Critic-Bangs-1.12.tar.gz
Commented-out code is usually noise. It should be removed.

Perl::Critic::Policy::Bangs::ProhibitDebuggingModules
P/PE/PETDANCE/Perl-Critic-Bangs-1.12.tar.gz
Prohibit loading of debugging modules like Data::Dumper.

Perl::Critic::Policy::Bangs::ProhibitFlagComments
P/PE/PETDANCE/Perl-Critic-Bangs-1.12.tar.gz
Don't use XXX, TODO, or FIXME.

Perl::Critic::Policy::Bangs::ProhibitNoPlan
P/PE/PETDANCE/Perl-Critic-Bangs-1.12.tar.gz
Know what you're going to test.

Perl::Critic::Policy::Bangs::ProhibitNumberedNames
P/PE/PETDANCE/Perl-Critic-Bangs-1.12.tar.gz
Prohibit variables and subroutines with names that end in digits.

Perl::Critic::Policy::Bangs::ProhibitRefProtoOrProto
P/PE/PETDANCE/Perl-Critic-Bangs-1.12.tar.gz
Create a clone() method if you need copies of objects.

Perl::Critic::Policy::Bangs::ProhibitUselessRegexModifiers
P/PE/PETDANCE/Perl-Critic-Bangs-1.12.tar.gz
Adding modifiers to a regular expression made up entirely of a variable created with qr() is usually not doing what you expect.

Perl::Critic::Policy::Bangs::ProhibitVagueNames
P/PE/PETDANCE/Perl-Critic-Bangs-1.12.tar.gz
Don't use generic variable and subroutine names.

Perl::Critic::Policy::BuiltinFunctions::ProhibitBooleanGrep
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use "List::MoreUtils::any" instead of "grep" in boolean context.

Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Map blocks should have a single statement.

Perl::Critic::Policy::BuiltinFunctions::ProhibitDeleteOnArrays
L/LI/LIOSHA/Perl-Critic-Policy-BuiltinFunctions-ProhibitDeleteOnArrays-0.02.tar.gz
Do not use "delete" on arrays.

Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use 4-argument "substr" instead of writing "substr($foo, 2, 6) = $bar".

Perl::Critic::Policy::BuiltinFunctions::ProhibitReturnOr
J/JL/JLEADER/Perl-Critic-Policy-BuiltinFunctions-ProhibitReturnOr-0.01.tar.gz
Check for "return $x or ...".

Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Forbid $b before $a in sort blocks.

Perl::Critic::Policy::BuiltinFunctions::ProhibitShiftRef
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Prohibit "\shift" in code.

Perl::Critic::Policy::BuiltinFunctions::ProhibitSleepViaSelect
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use Time::HiRes instead of something like "select(undef, undef, undef, .05)".

Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "eval { my $foo; bar($foo) }" instead of "eval "my $foo; bar($foo);"".

Perl::Critic::Policy::BuiltinFunctions::ProhibitStringySplit
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "split /-/, $string" instead of "split '-', $string".

Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalCan
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "eval { $foo->can($name) }" instead of "UNIVERSAL::can($foo, $name)".

Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalIsa
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "eval { $foo->isa($pkg) }" instead of "UNIVERSAL::isa($foo, $pkg)".

Perl::Critic::Policy::BuiltinFunctions::ProhibitUselessTopic
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't pass $_ to built-in functions that assume it, or to most filetest operators.

Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use "grep" in void contexts.

Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use "map" in void contexts.

Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "grep { /$pattern/ } @list" instead of "grep /$pattern/, @list".

Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "map { /$pattern/ } @list" instead of "map /$pattern/, @list".

Perl::Critic::Policy::BuiltinFunctions::RequireGlobFunction
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use "glob q{*}" instead of <*>.

Perl::Critic::Policy::BuiltinFunctions::RequireSimpleSortBlock
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Sort blocks should have a single statement.

Perl::Critic::Policy::Catalyst::ProhibitUnreachableCode
B/BL/BLUEFEET/Perl-Critic-Policy-Catalyst-ProhibitUnreachableCode-0.02.tar.gz
Don't write code after an unconditional Catalyst detach.

Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
AUTOLOAD methods should be avoided.

Perl::Critic::Policy::ClassHierarchies::ProhibitExplicitISA
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Employ "use base" instead of @ISA.

Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "bless {}, $class;" instead of just "bless {};".

Perl::Critic::Policy::CodeLayout::ProhibitFatCommaNewline
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Keep a fat comma on the same line as its quoted word.

Perl::Critic::Policy::CodeLayout::ProhibitHardTabs
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use spaces instead of tabs.

Perl::Critic::Policy::CodeLayout::ProhibitHashBarewords
M/MA/MARCELO/Perl-Critic-Itch-0.07.tar.gz

Perl::Critic::Policy::CodeLayout::ProhibitIfIfSameLine
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't put if after if on same line.

Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "open $handle, $path" instead of "open($handle, $path)".

Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "qw(foo bar baz)" instead of "('foo', 'bar', 'baz')".

Perl::Critic::Policy::CodeLayout::ProhibitSpaceIndentation
I/IX/IXA/Perl-Critic-Policy-CodeLayout-ProhibitSpaceIndentation-1.02.tar.gz
Use tabs instead of spaces for indentation.

Perl::Critic::Policy::CodeLayout::ProhibitTrailingWhitespace
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use whitespace at the end of lines.

Perl::Critic::Policy::CodeLayout::RequireASCII
T/TH/THALJEF/Perl-Critic-More-1.003.tar.gz
Disallow high-bit characters.

Perl::Critic::Policy::CodeLayout::RequireBreakBeforeOperator
S/SN/SNEZ/Perl-Critic-PolicyBundle-SNEZ-0.02.tar.gz
Multiline expressions should be broken before operator.

Perl::Critic::Policy::CodeLayout::RequireConsistentNewlines
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use the same newline through the source.

Perl::Critic::Policy::CodeLayout::RequireFinalSemicolon
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Require a semicolon at the end of code blocks.

Perl::Critic::Policy::CodeLayout::RequireKRBracing
S/SN/SNEZ/Perl-Critic-PolicyBundle-SNEZ-0.02.tar.gz
Brace in K&R style.

Perl::Critic::Policy::CodeLayout::RequireKRParens
S/SN/SNEZ/Perl-Critic-PolicyBundle-SNEZ-0.02.tar.gz
Parenthesise in K&R style.

Perl::Critic::Policy::CodeLayout::RequireSpaceAroundBinaryOperators
S/SN/SNEZ/Perl-Critic-PolicyBundle-SNEZ-0.02.tar.gz
Put spaces around operators.

Perl::Critic::Policy::CodeLayout::RequireTidyCode
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Must run code through perltidy.

Perl::Critic::Policy::CodeLayout::RequireTrailingCommaAtNewline
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Comma at end of list at newline.

Perl::Critic::Policy::CodeLayout::RequireTrailingCommas
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Put a comma at the end of every multi-line list declaration, including the last one.

Perl::Critic::Policy::CodeLayout::RequireUseUTF8
E/EL/ELLIOTJS/Perl-Critic-Swift-v1.0.3.tar.gz
Require that all modules have a "use utf8;" statement.

Perl::Critic::Policy::CodeLayout::TabIndentSpaceAlign
A/AU/AUBERTG/Perl-Critic-Policy-CodeLayout-TabIndentSpaceAlign-v1.1.0.tar.gz
Use tabs for indenting, spaces for aligning.

Perl::Critic::Policy::CognitiveComplexity::ProhibitExcessCognitiveComplexity
O/OT/OTROSIEN/Perl-Critic-CognitiveComplexity-0.5.tar.gz
Avoid code that is nested, and thus difficult to grasp.

Perl::Critic::Policy::Community::AmpersandSubCalls
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use & to call subroutines.

Perl::Critic::Policy::Community::ArrayAssignAref
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't assign an anonymous arrayref to an array.

Perl::Critic::Policy::Community::BarewordFilehandles
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use bareword filehandles other than built-ins.

Perl::Critic::Policy::Community::ConditionalDeclarations
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't declare variables conditionally.

Perl::Critic::Policy::Community::ConditionalImplicitReturn
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't end a subroutine with a conditional block.

Perl::Critic::Policy::Community::DeprecatedFeatures
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Avoid features that have been deprecated or removed from Perl.

Perl::Critic::Policy::Community::DiscouragedModules
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Various modules discouraged from use.

Perl::Critic::Policy::Community::DollarAB
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use $a or $b as variable names outside sort.

Perl::Critic::Policy::Community::Each
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use each to iterate through a hash.

Perl::Critic::Policy::Community::EmptyReturn
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use return with no arguments.

Perl::Critic::Policy::Community::IndirectObjectNotation
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't call methods indirectly.

Perl::Critic::Policy::Community::LexicalForeachIterator
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use undeclared foreach loop iterators.

Perl::Critic::Policy::Community::LoopOnHash
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't loop over hashes.

Perl::Critic::Policy::Community::ModPerl
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use mod_perl to write web applications.

Perl::Critic::Policy::Community::MultidimensionalArrayEmulation
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use multidimensional array emulation.

Perl::Critic::Policy::Community::OpenArgs
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Always use the three-argument form of open.

Perl::Critic::Policy::Community::OverloadOptions
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use overload without specifying a bool overload and enabling fallback.

Perl::Critic::Policy::Community::PackageMatchesFilename
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Module files should declare a package matching the filename.

Perl::Critic::Policy::Community::POSIXImports
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use POSIX without specifying an import list.

Perl::Critic::Policy::Community::PreferredAlternatives
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Various modules with preferred alternatives.

Perl::Critic::Policy::Community::Prototypes
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use function prototypes.

Perl::Critic::Policy::Community::StrictWarnings
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Always use strict and warnings, or a module that imports these.

Perl::Critic::Policy::Community::Threads
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Interpreter-based threads are officially discouraged.

Perl::Critic::Policy::Community::Wantarray
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't write context-sensitive functions using wantarray.

Perl::Critic::Policy::Community::WarningsSwitch
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Scripts should not use the -w switch on the shebang line.

Perl::Critic::Policy::Community::WhileDiamondDefaultAssignment
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use while with implicit assignment to $_.

Perl::Critic::Policy::Compatibility::ConstantLeadingUnderscore
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
New enough "constant" module for leading underscores.

Perl::Critic::Policy::Compatibility::ConstantPragmaHash
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
New enough "constant" module for multiple constants.

Perl::Critic::Policy::Compatibility::Gtk2Constants
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
New enough Gtk2 version for its constants.

Perl::Critic::Policy::Compatibility::PerlMinimumVersionAndWhy
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Explicit Perl version for features used.

Perl::Critic::Policy::Compatibility::PodMinimumVersion
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Check Perl version declared against POD features used.

Perl::Critic::Policy::Compatibility::ProhibitThreeArgumentOpen
E/EL/ELLIOTJS/Perl-Critic-Compatibility-1.001.tar.gz
Don't allow three-argument open unless the code uses a version of perl that supports it.

Perl::Critic::Policy::Compatibility::ProhibitUnixDevNull
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't use explicit /dev/null.

Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't write long "if-elsif-elsif-elsif-elsif...else" chains.

Perl::Critic::Policy::ControlStructures::ProhibitCStyleForLoops
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "for(0..20)" instead of "for($i=0; $i<=20; $i++)".

Perl::Critic::Policy::ControlStructures::ProhibitDeepNests
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't write deeply nested loops and conditionals.

Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use labels that are the same as the special block names.

Perl::Critic::Policy::ControlStructures::ProhibitMultipleSubscripts
S/SN/SNEZ/Perl-Critic-PolicyBundle-SNEZ-0.02.tar.gz
Forbid using the same subscript multiple times in a loop.

Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't modify $_ in list functions.

Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use operators like "not", "!~", and "le" within "until" and "unless".

Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "if($condition){ do_something() }" instead of "do_something() if $condition".

Perl::Critic::Policy::ControlStructures::ProhibitReturnInDoBlock
U/UT/UTGWKK/Perl-Critic-Policy-ControlStructures-ProhibitReturnInDoBlock-0.03.tar.gz
Do not "return" in "do" block.

Perl::Critic::Policy::ControlStructures::ProhibitSwitchStatements
H/HO/HOLCAPEK/Perl-Critic-Policy-ProhibitSmartmatch-0.4.tar.gz
Avoid using switch statement keywords which might imply implicit smartmatching.

Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "if(! $condition)" instead of "unless($condition)".

Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't write code after an unconditional "die, exit, or next".

Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "while(! $condition)" instead of "until($condition)".

Perl::Critic::Policy::ControlStructures::ProhibitYadaOperator
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Never use "..." in production code.

Perl::Critic::Policy::Dancer2::ProhibitDeprecatedKeywords
G/GE/GEEKRUTH/Perl-Critic-Dancer2-0.4100.tar.gz
Trigger perlcritic alerts on deprecated Dancer2 keywords.

Perl::Critic::Policy::Dancer2::ProhibitUnrecommendedKeywords
G/GE/GEEKRUTH/Perl-Critic-Dancer2-0.4100.tar.gz
Trigger perlcritic alerts on unrecommended Dancer2 keywords.

Perl::Critic::Policy::Dancer2::ReturnNotNecessary
G/GE/GEEKRUTH/Perl-Critic-Dancer2-0.4100.tar.gz
Trigger perlcritic alerts on needless return statements.

Perl::Critic::Policy::Documentation::PodSpelling
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Check your spelling.

Perl::Critic::Policy::Documentation::ProhibitAdjacentLinks
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Consecutive L<> links.

Perl::Critic::Policy::Documentation::ProhibitBadAproposMarkup
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't use C<> markup in a NAME section.

Perl::Critic::Policy::Documentation::ProhibitDuplicateHeadings
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't duplicate =head names.

Perl::Critic::Policy::Documentation::ProhibitDuplicateSeeAlso
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't duplicate L<> links in SEE ALSO.

Perl::Critic::Policy::Documentation::ProhibitLinkToSelf
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't L<> link to own POD.

Perl::Critic::Policy::Documentation::ProhibitParagraphEndComma
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Avoid comma at end of section.

Perl::Critic::Policy::Documentation::ProhibitParagraphTwoDots
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't end a paragraph with two dots.

Perl::Critic::Policy::Documentation::ProhibitUnbalancedParens
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't leave an open bracket or paren.

Perl::Critic::Policy::Documentation::ProhibitVerbatimMarkup
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Unexpanded C<> etc markup in POD verbatim paras.

Perl::Critic::Policy::Documentation::RequireEndBeforeLastPod
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Require __END__ before POD at end of file.

Perl::Critic::Policy::Documentation::RequireFilenameMarkup
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Markup /foo filenames.

Perl::Critic::Policy::Documentation::RequireFinalCut
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
End POD with =cut directive.

Perl::Critic::Policy::Documentation::RequireLinkedURLs
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Use L<> markup on URLs in POD.

Perl::Critic::Policy::Documentation::RequirePackageMatchesPodName
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
The "=head1 NAME" section should match the package.

Perl::Critic::Policy::Documentation::RequirePod
A/AU/AUTINITY/Perl-Critic-Policy-Documentation-RequirePod-0.005.tar.gz
File requires POD.

Perl::Critic::Policy::Documentation::RequirePodAtEnd
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
All POD should be after "__END__".

Perl::Critic::Policy::Documentation::RequirePodLinksIncludeText
P/PE/PETDANCE/Perl-Critic-1.132.tar.gz
Provide text to display with your pod links.

Perl::Critic::Policy::Documentation::RequirePodSections
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Organize your POD into the customary sections.

Perl::Critic::Policy::Documentation::RequirePODUseEncodingUTF8
E/EL/ELLIOTJS/Perl-Critic-Swift-v1.0.3.tar.gz
Require that all modules that contain POD have a "=encoding utf8" declaration.

Perl::Critic::Policy::Dynamic::NoIndirect
V/VP/VPIT/Perl-Critic-Policy-Dynamic-NoIndirect-0.06.tar.gz
Perl::Critic policy against indirect method calls.

Perl::Critic::Policy::Dynamic::ValidateAgainstSymbolTable
T/TH/THALJEF/Perl-Critic-Dynamic-0.05.tar.gz

Perl::Critic::Policy::Editor::RequireEmacsFileVariables
T/TH/THALJEF/Perl-Critic-More-1.003.tar.gz
Per-file editor settings.

Perl::Critic::Policy::ErrorHandling::RequireCarping
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use functions from Carp instead of "warn" or "die".

Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
You can't depend upon the value of $@/$EVAL_ERROR to tell whether an "eval" failed.

Perl::Critic::Policy::ErrorHandling::RequireUseOfExceptions
T/TH/THALJEF/Perl-Critic-More-1.003.tar.gz
Use exceptions instead of "die", "croak", or "confess".

Perl::Critic::Policy::Freenode::AmpersandSubCalls
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use & to call subroutines.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::ArrayAssignAref
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't assign an anonymous arrayref to an array.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::BarewordFilehandles
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use bareword filehandles other than built-ins.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::ConditionalDeclarations
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't declare variables conditionally.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::ConditionalImplicitReturn
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't end a subroutine with a conditional block.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::DeprecatedFeatures
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Avoid features that have been deprecated or removed from Perl.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::DiscouragedModules
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Various modules discouraged from use.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::DollarAB
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use $a or $b as variable names outside sort.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::Each
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use each to iterate through a hash.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::EmptyReturn
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use return with no arguments.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::IndirectObjectNotation
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't call methods indirectly.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::LexicalForeachIterator
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use undeclared foreach loop iterators.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::LoopOnHash
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't loop over hashes.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::ModPerl
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use mod_perl to write web applications.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::MultidimensionalArrayEmulation
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use multidimensional array emulation.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::OpenArgs
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Always use the three-argument form of open.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::OverloadOptions
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use overload without specifying a bool overload and enabling fallback.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::PackageMatchesFilename
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Module files should declare a package matching the filename.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::POSIXImports
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use POSIX without specifying an import list.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::PreferredAlternatives
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Various modules with preferred alternatives.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::Prototypes
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use function prototypes.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::StrictWarnings
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Always use strict and warnings, or a module that imports these.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::Threads
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Interpreter-based threads are officially discouraged.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::Wantarray
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't write context-sensitive functions using wantarray.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::WarningsSwitch
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Scripts should not use the -w switch on the shebang line.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::Freenode::WhileDiamondDefaultAssignment
D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz
Don't use while with implicit assignment to $_.
This policy has been moved to Perl::Critic::Community.

Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Discourage stuff like "@files = `ls $directory`".

Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "open my $fh, q{<}, $filename;" instead of "open FH, q{<}, $filename;".

Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use "<>" or "<ARGV>" or a prompting module instead of "<STDIN>".

Perl::Critic::Policy::InputOutput::ProhibitHighPrecedentLogicalOperatorErrorHandling
J/JO/JONASBN/Perl-Critic-Policy-InputOutput-ProhibitHighPrecedentLogicalOperatorErrorHandling-0.02.tar.gz
Prohibits logical error handling in open statements.

Perl::Critic::Policy::InputOutput::ProhibitInteractiveTest
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use prompt() instead of -t.

Perl::Critic::Policy::InputOutput::ProhibitJoinedReadline
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use "local $/ = undef" or Path::Tiny instead of joined readline.

Perl::Critic::Policy::InputOutput::ProhibitOneArgSelect
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Never write "select($fh)".

Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "while( $line = <> ){...}" instead of "for(<>){...}".

Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "open $fh, q{<}, $filename;" instead of "open $fh, "<$filename";".

Perl::Critic::Policy::InputOutput::RequireBracedFileHandleWithPrint
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "print {$FH} $foo, $bar;" instead of "print $FH $foo, $bar;".

Perl::Critic::Policy::InputOutput::RequireBriefOpen
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Close filehandles as soon as possible after opening them.

Perl::Critic::Policy::InputOutput::RequireCheckedClose
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "my $error = close $fh;" instead of "close $fh;".

Perl::Critic::Policy::InputOutput::RequireCheckedOpen
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "my $error = open $fh, $mode, $filename;" instead of "open $fh, $mode, $filename;".

Perl::Critic::Policy::InputOutput::RequireCheckedSyscalls
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Return value of flagged function ignored.

Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "open $fh, q{<:encoding(UTF-8)}, $filename;" instead of "open $fh, q{<:utf8}, $filename;".

Perl::Critic::Policy::Lax::ProhibitComplexMappings::LinesNotStatements
R/RJ/RJBS/Perl-Critic-Lax-0.013.tar.gz
Prohibit multiline maps, not multistatement maps.

Perl::Critic::Policy::Lax::ProhibitEmptyQuotes::ExceptAsFallback
R/RJ/RJBS/Perl-Critic-Lax-0.013.tar.gz
Empty quotes are okay as the fallback on the rhs of ||.

Perl::Critic::Policy::Lax::ProhibitLeadingZeros::ExceptChmod
R/RJ/RJBS/Perl-Critic-Lax-0.013.tar.gz
Leading zeroes are okay as the first arg to chmod.

Perl::Critic::Policy::Lax::ProhibitStringyEval::ExceptForRequire
R/RJ/RJBS/Perl-Critic-Lax-0.013.tar.gz
Stringy eval is bad, but it's okay just to "require".

Perl::Critic::Policy::Lax::RequireConstantOnLeftSideOfEquality::ExceptEq
R/RJ/RJBS/Perl-Critic-Lax-0.013.tar.gz
Constant value on the right side is ok with 'eq'.
Perl::Critic::Policy::Lax::RequireConstantOnLeftSideOfEquality::ExceptEq - constant value on the right side is ok with 'eq'.

Perl::Critic::Policy::Lax::RequireEndWithTrueConst
R/RJ/RJBS/Perl-Critic-Lax-0.013.tar.gz
Ending your package with a simple, fun true value is okay.

Perl::Critic::Policy::Lax::RequireExplicitPackage::ExceptForPragmata
R/RJ/RJBS/Perl-Critic-Lax-0.013.tar.gz
You can put strict and warnings before "package".

Perl::Critic::Policy::logicLAB::ModuleBlacklist
J/JO/JONASBN/Perl-Critic-Policy-logicLAB-ModuleBlacklist-0.04.tar.gz
Blacklist modules you want to prohibit use of.

Perl::Critic::Policy::logicLAB::ProhibitShellDispatch
J/JO/JONASBN/Perl-Critic-Policy-logicLAB-ProhibitShellDispatch-0.05.tar.gz
Simple policy prohibiting shell dispatching.

Perl::Critic::Policy::logicLAB::ProhibitUseLib
J/JO/JONASBN/Perl-Critic-Policy-logicLAB-ProhibitUseLib-0.04.tar.gz
Simple policy prohibiting the use of 'use lib'.

Perl::Critic::Policy::logicLAB::RequirePackageNamePattern
J/JO/JONASBN/Perl-Critic-Policy-logicLAB-RequirePackageNamePattern-0.05.tar.gz
Simple policy for enforcing a package naming policy.

Perl::Critic::Policy::logicLAB::RequireParamsValidate
J/JO/JONASBN/Perl-Critic-Policy-logicLAB-RequireParamsValidate-0.03.tar.gz
Simple policy for enforcing use of Params::Validate.

Perl::Critic::Policy::logicLAB::RequireSheBang
J/JO/JONASBN/Perl-Critic-Policy-logicLAB-RequireSheBang-0.07.tar.gz
Simple policy for keeping your shebang line uniform.

Perl::Critic::Policy::logicLAB::RequireVersionFormat
J/JO/JONASBN/Perl-Critic-Policy-logicLAB-RequireVersionFormat-0.08.tar.gz
Assert version number formats.

Perl::Critic::Policy::Mardem::ProhibitBlockComplexity
M/MA/MARDEM/Mardem-RefactoringPerlCriticPolicies-001targz/Perl-Critic-Mardem-0.04.tar.gz

Perl::Critic::Policy::Mardem::ProhibitConditionComplexity
M/MA/MARDEM/Mardem-RefactoringPerlCriticPolicies-001targz/Perl-Critic-Mardem-0.04.tar.gz

Perl::Critic::Policy::Mardem::ProhibitLargeBlock
M/MA/MARDEM/Mardem-RefactoringPerlCriticPolicies-001targz/Perl-Critic-Mardem-0.04.tar.gz

Perl::Critic::Policy::Mardem::ProhibitLargeSub
M/MA/MARDEM/Mardem-RefactoringPerlCriticPolicies-001targz/Perl-Critic-Mardem-0.04.tar.gz

Perl::Critic::Policy::Mardem::ProhibitManyConditionsInSub
M/MA/MARDEM/Mardem-RefactoringPerlCriticPolicies-001targz/Perl-Critic-Mardem-0.04.tar.gz

Perl::Critic::Policy::Mardem::ProhibitReturnBooleanAsInt
M/MA/MARDEM/Mardem-RefactoringPerlCriticPolicies-001targz/Perl-Critic-Mardem-0.04.tar.gz

Perl::Critic::Policy::Miscellanea::ProhibitFormats
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Do not use "format".

Perl::Critic::Policy::Miscellanea::ProhibitTies
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Do not use "tie".

Perl::Critic::Policy::Miscellanea::ProhibitUnrestrictedNoCritic
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Forbid a bare "## no critic".

Perl::Critic::Policy::Miscellanea::ProhibitUselessNoCritic
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Remove ineffective "## no critic" annotations.

Perl::Critic::Policy::Miscellanea::RequireRcsKeywords
T/TH/THALJEF/Perl-Critic-Deprecated-1.119.tar.gz
Put source-control keywords in every file.

Perl::Critic::Policy::Miscellanea::TextDomainPlaceholders
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Check placeholder names in Locale::TextDomain calls.

Perl::Critic::Policy::Miscellanea::TextDomainUnused
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Check for Locale::TextDomain imported but unused.

Perl::Critic::Policy::Modules::PerlMinimumVersion
T/TH/THALJEF/Perl-Critic-More-1.003.tar.gz
Enforce backward compatible code.

Perl::Critic::Policy::Modules::ProhibitAutomaticExportation
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Export symbols via @EXPORT_OK or %EXPORT_TAGS instead of @EXPORT.

Perl::Critic::Policy::Modules::ProhibitConditionalUseStatements
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Avoid putting conditional logic around compile-time includes.

Perl::Critic::Policy::Modules::ProhibitEvilModules
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Ban modules that aren't blessed by your shop.

Perl::Critic::Policy::Modules::ProhibitExcessMainComplexity
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Minimize complexity in code that is outside of subroutines.

Perl::Critic::Policy::Modules::ProhibitModuleShebang
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't put a #! line at the start of a module file.

Perl::Critic::Policy::Modules::ProhibitMultiplePackages
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Put packages (especially subclasses) in separate files.

Perl::Critic::Policy::Modules::ProhibitPOSIXimport
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't import the whole of POSIX into a module.

Perl::Critic::Policy::Modules::ProhibitUseLib
G/GG/GGOLDBACH/Perl-Critic-Policy-Modules-ProhibitUseLib-0.004.tar.gz
Prohibit 'use lib' in modules.

Perl::Critic::Policy::Modules::ProhibitUseQuotedVersion
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Avoid quoted version number string in a "use" statement.

Perl::Critic::Policy::Modules::RequireBarewordIncludes
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "require Module" instead of "require 'Module.pm'".

Perl::Critic::Policy::Modules::RequireEndWithOne
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
End each module with an explicitly "1;" instead of some funky expression.

Perl::Critic::Policy::Modules::RequireExplicitInclusion
P/PE/PETDANCE/Perl-Critic-StricterSubs-0.06.tar.gz

Perl::Critic::Policy::Modules::RequireExplicitPackage
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Always make the "package" explicit.

Perl::Critic::Policy::Modules::RequireExplicitPackage::ObjectPad
D/DE/DERIV/Perl-Critic-Policy-Modules-RequireExplicitPackage-ObjectPad-0.001.tar.gz
Always make the package/Object::Pad class explicit.

Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Package declaration must match filename.

Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
"use English" must be passed a "-no_match_vars" argument.

Perl::Critic::Policy::Modules::RequirePerlVersion
T/TH/THALJEF/Perl-Critic-More-1.003.tar.gz
Require a "use 5.006;" or similar.

Perl::Critic::Policy::Modules::RequireVersionVar
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Give every module a $VERSION number.

Perl::Critic::Policy::Moo::ProhibitMakeImmutable
B/BL/BLUEFEET/Perl-Critic-Policy-Moo-ProhibitMakeImmutable-0.06.tar.gz
Makes sure that Moo classes do not contain calls to make_immutable. (DEPRECATED).

Perl::Critic::Policy::Moose::ProhibitDESTROYMethod
D/DR/DROLSKY/Perl-Critic-Moose-1.05.tar.gz
Use DEMOLISH instead of DESTROY.

Perl::Critic::Policy::Moose::ProhibitLazyBuild
D/DR/DROLSKY/Perl-Critic-Moose-1.05.tar.gz
Avoid lazy_build.

Perl::Critic::Policy::Moose::ProhibitMultipleWiths
D/DR/DROLSKY/Perl-Critic-Moose-1.05.tar.gz
Require role composition.

Perl::Critic::Policy::Moose::ProhibitNewMethod
D/DR/DROLSKY/Perl-Critic-Moose-1.05.tar.gz
Don't override Moose's standard constructors.

Perl::Critic::Policy::Moose::RequireCleanNamespace
D/DR/DROLSKY/Perl-Critic-Moose-1.05.tar.gz
Require removing implementation details from you packages.

Perl::Critic::Policy::Moose::RequireMakeImmutable
D/DR/DROLSKY/Perl-Critic-Moose-1.05.tar.gz
Ensure that you've made your Moose code fast.

Perl::Critic::Policy::NamingConventions::Capitalization
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Distinguish different program components by case.

Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use vague variable or subroutine names like 'last' or 'record'.

Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs
T/TH/THALJEF/Perl-Critic-Deprecated-1.119.tar.gz
Write "sub my_function{}" instead of "sub MyFunction{}".

Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseVars
T/TH/THALJEF/Perl-Critic-Deprecated-1.119.tar.gz
Write "$my_variable = 42" instead of "$MyVariable = 42".

Perl::Critic::Policy::Objects::ProhibitIndirectSyntax
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Prohibit indirect object call syntax.

Perl::Critic::Policy::Operators::ProhibitSmartmatch
H/HO/HOLCAPEK/Perl-Critic-Policy-ProhibitSmartmatch-0.4.tar.gz
Avoid using explicit smartmatching via "~~" operator.

Perl::Critic::Policy::Plicease::ProhibitLeadingZeros
P/PL/PLICEASE/Perl-Critic-Plicease-0.04.tar.gz
Leading zeroes are okay as the first arg to chmod, and other such reasonableness.

Perl::Critic::Policy::Plicease::ProhibitUnicodeDigitInRegexp
P/PL/PLICEASE/Perl-Critic-Plicease-0.04.tar.gz
Prohibit non-ASCII \d in regular expressions.

Perl::Critic::Policy::References::ProhibitComplexDoubleSigils
X/XE/XENU/Perl-Critic-Policy-References-ProhibitComplexDoubleSigils-0.2.tar.gz
Allow $$foo but not $$foo[1]->{dadsdas}->[7].

Perl::Critic::Policy::References::ProhibitDoubleSigils
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "@{ $array_ref }" instead of @$array_ref.

Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Capture variable used outside conditional.

Perl::Critic::Policy::RegularExpressions::ProhibitComplexRegexes
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Split long regexps into smaller "qr//" chunks.

Perl::Critic::Policy::RegularExpressions::ProhibitEmptyAlternatives
W/WY/WYANT/Perl-Critic-Policy-RegularExpressions-ProhibitEmptyAlternatives-0.005.tar.gz
Beware empty alternatives, because they always match.

Perl::Critic::Policy::RegularExpressions::ProhibitEnumeratedClasses
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use named character classes instead of explicit character lists.

Perl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use character classes for literal meta-characters instead of escapes.

Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use "eq" or hash instead of fixed-pattern regexps.

Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use "[abc]" instead of "a|b|c".

Perl::Critic::Policy::RegularExpressions::ProhibitUnusedCapture
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Only use a capturing group if you plan to use the captured value.

Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use only "//" or "{}" to delimit regexps.

Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use $_ to match against regexes.

Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use "{" and "}" to delimit multi-line regexps.

Perl::Critic::Policy::RegularExpressions::RequireDefault
J/JO/JONASBN/Perl-Critic-Policy-RegularExpressions-RequireDefault-2.02.tar.gz
Always use the "/a" or "/aa" modifier with regular expressions.

Perl::Critic::Policy::RegularExpressions::RequireDotMatchAnything
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Always use the "/s" modifier with regular expressions.

Perl::Critic::Policy::RegularExpressions::RequireExtendedFormatting
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Always use the "/x" modifier with regular expressions.

Perl::Critic::Policy::RegularExpressions::RequireExtendedFormattingExceptForSplit
R/RE/RENEEB/Perl-Critic-RENEEB-2.05.tar.gz
Always use the "/x" modifier with regular expressions, except when the regex is used.

Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Always use the "/m" modifier with regular expressions.

Perl::Critic::Policy::Reneeb::Capitalization
R/RE/RENEEB/Perl-Critic-RENEEB-2.05.tar.gz
NamingConventions::Capitalization plus the ability to exempt "Full qualified package names".

Perl::Critic::Policy::Reneeb::ProhibitBlockEval
R/RE/RENEEB/Perl-Critic-RENEEB-2.05.tar.gz
Do not use the Block-eval. Use Try::Tiny instead.

Perl::Critic::Policy::Reneeb::ProhibitGrepToGetFirstFoundElement
R/RE/RENEEB/Perl-Critic-RENEEB-2.05.tar.gz
Use List::Utils 'first' instead of grep if you want to get the first found element.

Perl::Critic::Policy::Reneeb::RequirePostderef
R/RE/RENEEB/Perl-Critic-RENEEB-2.05.tar.gz
Require Postdereferencing which became stable in Perl 5.24.

Perl::Critic::Policy::Storable::ProhibitStoreOrFreeze
M/MA/MATTD/Perl-Critic-Storable-0.01.tar.gz
Do not use store or freeze in Storable.pm.

Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't call functions with a leading ampersand sigil.

Perl::Critic::Policy::Subroutines::ProhibitBuiltinHomonyms
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't declare your own "open" function.

Perl::Critic::Policy::Subroutines::ProhibitCallsToUndeclaredSubs
P/PE/PETDANCE/Perl-Critic-StricterSubs-0.06.tar.gz

Perl::Critic::Policy::Subroutines::ProhibitCallsToUnexportedSubs
P/PE/PETDANCE/Perl-Critic-StricterSubs-0.06.tar.gz

Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Minimize complexity by factoring code into smaller subroutines.

Perl::Critic::Policy::Subroutines::ProhibitExplicitReturnUndef
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Return failure with bare "return" instead of "return undef".

Perl::Critic::Policy::Subroutines::ProhibitExportingUndeclaredSubs
P/PE/PETDANCE/Perl-Critic-StricterSubs-0.06.tar.gz

Perl::Critic::Policy::Subroutines::ProhibitManyArgs
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Too many arguments.

Perl::Critic::Policy::Subroutines::ProhibitNestedSubs
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
"sub never { sub correct {} }".

Perl::Critic::Policy::Subroutines::ProhibitQualifiedSubDeclarations
P/PE/PETDANCE/Perl-Critic-StricterSubs-0.06.tar.gz

Perl::Critic::Policy::Subroutines::ProhibitReturnSort
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Behavior of "sort" is not defined if called in scalar context.

Perl::Critic::Policy::Subroutines::ProhibitSubroutinePrototypes
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't write "sub my_function (@@) {}".

Perl::Critic::Policy::Subroutines::ProhibitUnusedPrivateSubroutines
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Prevent unused private subroutines.

Perl::Critic::Policy::Subroutines::ProtectPrivateSubs
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Prevent access to private subs in other packages.

Perl::Critic::Policy::Subroutines::RequireArgUnpacking
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Always unpack @_ first.

Perl::Critic::Policy::Subroutines::RequireFinalReturn
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
End every path through a subroutine with an explicit "return" statement.

Perl::Critic::Policy::TestingAndDebugging::ProhibitNoStrict
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Prohibit various flavors of "no strict".

Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Prohibit various flavors of "no warnings".

Perl::Critic::Policy::TestingAndDebugging::ProhibitProlongedStrictureOverride
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't turn off strict for large blocks of code.

Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Tests should all have labels.

Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Always "use strict".

Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Always "use warnings".

Perl::Critic::Policy::Tics::ProhibitLongLines
R/RJ/RJBS/Perl-Critic-Tics-0.009.tar.gz
80 x 40 for life!

Perl::Critic::Policy::Tics::ProhibitManyArrows
R/RJ/RJBS/Perl-Critic-Tics-0.009.tar.gz
(this => is => not => good).

Perl::Critic::Policy::Tics::ProhibitUseBase
R/RJ/RJBS/Perl-Critic-Tics-0.009.tar.gz
Do not use base.pm.

Perl::Critic::Policy::TooMuchCode::ProhibitDuplicateLiteral
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Don't repeat yourself with identical literals.

Perl::Critic::Policy::TooMuchCode::ProhibitDuplicateSub
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
When 2 subroutines are defined with the same name, report the first one.

Perl::Critic::Policy::TooMuchCode::ProhibitExcessiveColons
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Finds '::::::::' in module names.

Perl::Critic::Policy::TooMuchCode::ProhibitExtraStricture
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Find unnecessary 'use strict'.

Perl::Critic::Policy::TooMuchCode::ProhibitLargeBlock
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Find oversized blocks.

Perl::Critic::Policy::TooMuchCode::ProhibitLargeTryBlock
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Find oversized `try..catch` block.

Perl::Critic::Policy::TooMuchCode::ProhibitUnnecessaryScalarKeyword
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Finds `scalar` in scalar context.

Perl::Critic::Policy::TooMuchCode::ProhibitUnnecessaryUTF8Pragma
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Find 'use utf8' statement that produces (almost) no effect.

Perl::Critic::Policy::TooMuchCode::ProhibitUnusedConstant
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Find unused constants.

Perl::Critic::Policy::TooMuchCode::ProhibitUnusedImport
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Find unused imports.

Perl::Critic::Policy::TooMuchCode::ProhibitUnusedInclude
G/GU/GUGOD/Perl-Critic-TooMuchCode-0.18.tar.gz
Find unused include statements.

Perl::Critic::Policy::TryTiny::RequireBlockTermination
B/BL/BLUEFEET/Perl-Critic-Policy-TryTiny-RequireBlockTermination-0.03.tar.gz
Requires that try/catch/finally blocks are properly terminated.

Perl::Critic::Policy::TryTiny::RequireUse
B/BL/BLUEFEET/Perl-Critic-Policy-TryTiny-RequireUse-0.05.tar.gz
Requires that code which utilizes Try::Tiny actually use()es it.

Perl::Critic::Policy::ValuesAndExpressions::ConstantBeforeLt
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Disallow bareword before <.

Perl::Critic::Policy::ValuesAndExpressions::NotWithCompare
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Logical not used with compare.

Perl::Critic::Policy::ValuesAndExpressions::PreventSQLInjection
O/OA/OALDERS/Perl-Critic-Policy-ValuesAndExpressions-PreventSQLInjection-2.000001.tar.gz
Prevent SQL injection in interpolated strings.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitAccessOfPrivateData
K/KC/KCOWGILL/Perl-Critic-Nits-v1.0.0.tar.gz

Perl::Critic::Policy::ValuesAndExpressions::ProhibitArrayAssignAref
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't assign an anonymous arrayref to an array.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitBarewordDoubleColon
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't use Foo:: style barewords.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use the comma operator as a statement separator.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitComplexVersion
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Prohibit version values from outside the module.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't "use constant FOO => 15".

Perl::Critic::Policy::ValuesAndExpressions::ProhibitDuplicateHashKeys
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Disallow duplicate literal hash keys.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyCommas
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Disallow empty consecutive commas.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyPostfixLoop
X/XS/XSAWYERX/Perl-Critic-Policy-ValuesAndExpressions-ProhibitEmptyPostfixLoop-0.001.tar.gz
Prohibit writing an postfix loop with no statement.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "q{}" instead of ''.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitEscapedCharacters
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "\N{DELETE}" instead of "\x7F", etc.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitFiletest_f
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't use the -f file test.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitFiletest_rwxRWX
W/WY/WYANT/Perl-Critic-Policy-ValuesAndExpressions-ProhibitFiletest_rwxRWX-0.002.tar.gz
Prohibit file access tests.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use concatenation or HEREDOCs instead of literal line breaks in strings.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Always use single quotes for literal strings.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitLeadingZeros
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "oct(755)" instead of 0755.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitListsInMultiConstants
S/SN/SNEZ/Perl-Critic-PolicyBundle-SNEZ-0.02.tar.gz
Use a single-constant declaration for lists.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Long chains of method calls indicate tightly coupled code.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use values that don't explain themselves.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't mix numeric operators with string operands, or vice-versa.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitMixedBooleanOperators
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write " !$foo && $bar || $baz " instead of " not $foo && $bar or $baz".

Perl::Critic::Policy::ValuesAndExpressions::ProhibitNoisyQuotes
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use "q{}" or "qq{}" instead of quotes for awkward-looking strings.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitNullStatements
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Disallow empty statements (stray semicolons).

Perl::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use quotes ("'", """, "`") as delimiters for the quote-like operators.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitSingleArgArraySlice
X/XS/XSAWYERX/Perl-Critic-Policy-ValuesAndExpressions-ProhibitSingleArgArraySlice-0.004.tar.gz
Prohibit using an array slice with only one index.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't write " print <<'__END__' ".

Perl::Critic::Policy::ValuesAndExpressions::ProhibitUnknownBackslash
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Don't use undefined backslash forms.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't use strings like "v1.4" or 1.4.5 when including other modules.

Perl::Critic::Policy::ValuesAndExpressions::RequireConstantOnLeftSideOfEquality
T/TH/THALJEF/Perl-Critic-More-1.003.tar.gz
Putting the constant value on the left side of an equality exposes typos.

Perl::Critic::Policy::ValuesAndExpressions::RequireConstantVersion
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Require $VERSION to be a constant rather than a computed value.

Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Warns that you might have used single quotes when you really wanted double-quotes.

Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write " 141_234_397.0145 " instead of 141234397.0145 .

Perl::Critic::Policy::ValuesAndExpressions::RequireNumericVersion
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
$VERSION a plain number.

Perl::Critic::Policy::ValuesAndExpressions::RequireQuotedHeredocTerminator
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write " print <<'THE_END' " or " print <<"THE_END" ".

Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseHeredocTerminator
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write " <<'THE_END'; " instead of " <<'theEnd'; ".

Perl::Critic::Policy::ValuesAndExpressions::RestrictLongStrings
T/TH/THALJEF/Perl-Critic-More-1.003.tar.gz
Stop mixing long strings with code.

Perl::Critic::Policy::ValuesAndExpressions::UnexpandedSpecialLiteral
K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz
Specials like __PACKAGE__ used literally.

Perl::Critic::Policy::Variables::NameReuse
D/DB/DBOOK/Perl-Critic-Policy-Variables-NameReuse-v0.1.0.tar.gz
Don't reuse names for different types of variables.

Perl::Critic::Policy::Variables::ProhibitAugmentedAssignmentInDeclaration
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Do not write " my $foo .= 'bar'; ".

Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Do not write " my $foo = $bar if $baz; ".

Perl::Critic::Policy::Variables::ProhibitEvilVariables
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Ban variables that aren't blessed by your shop.

Perl::Critic::Policy::Variables::ProhibitLocalVars
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use "my" instead of "local", except when you have to.

Perl::Critic::Policy::Variables::ProhibitLoopOnHash
X/XS/XSAWYERX/Perl-Critic-Policy-Variables-ProhibitLoopOnHash-0.008.tar.gz
Don't write loops on hashes, only on keys and values of hashes.

Perl::Critic::Policy::Variables::ProhibitMatchVars
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Avoid $`, $&, $' and their English equivalents.

Perl::Critic::Policy::Variables::ProhibitNumericNamesWithLeadingZero
W/WY/WYANT/Perl-Critic-Policy-Variables-ProhibitNumericNamesWithLeadingZero-0.002.tar.gz
Don't use numeric variable names with leading zeroes.

Perl::Critic::Policy::Variables::ProhibitPackageVars
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Eliminate globals declared with "our" or "use vars".

Perl::Critic::Policy::Variables::ProhibitPerl4PackageNames
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Use double colon (::) to separate package name components instead of single quotes (').

Perl::Critic::Policy::Variables::ProhibitPunctuationVars
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write $EVAL_ERROR instead of $@.

Perl::Critic::Policy::Variables::ProhibitReusedNames
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Do not reuse a variable name in a lexical scope.

Perl::Critic::Policy::Variables::ProhibitUnusedVariables
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Don't ask for storage you don't need.

Perl::Critic::Policy::Variables::ProhibitUnusedVarsStricter
W/WY/WYANT/Perl-Critic-Policy-Variables-ProhibitUnusedVarsStricter-0.114.tar.gz
Don't ask for storage you don't need.

Perl::Critic::Policy::Variables::ProhibitUselessInitialization
J/JT/JTRAMMELL/Perl-Critic-PetPeeves-JTRAMMELL-0.04.tar.gz
Prohibit superfluous initializations.

Perl::Critic::Policy::Variables::ProtectPrivateVars
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Prevent access to private vars in other packages.

Perl::Critic::Policy::Variables::RequireHungarianNotation
M/MZ/MZIESCHA/Perl-Critic-Policy-Variables-RequireHungarianNotation-0.0.7.tar.gz
Critic policy for hungarian notation.

Perl::Critic::Policy::Variables::RequireInitializationForLocalVars
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "local $foo = $bar;" instead of just "local $foo;".

Perl::Critic::Policy::Variables::RequireLexicalLoopIterators
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Write "for my $element (@list) {...}" instead of "for $element (@list) {...}".

Perl::Critic::Policy::Variables::RequireLocalizedPunctuationVars
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Magic variables should be assigned as "local".

Perl::Critic::Policy::Variables::RequireNegativeIndices
P/PE/PETDANCE/Perl-Critic-1.140.tar.gz
Negative array index should be used.