Perlcritic config - найти имена политик, которые генерируют ошибку? - PullRequest
3 голосов
/ 18 ноября 2011

Я пытаюсь начать использовать Perlcritic и работаю над уточнением своей конфигурации, оставляя без внимания все правила, с которыми я не согласен или не считаю подходящими для меня.

Я знаю, что могу сделать это, используя файл .perlcrirticrc, и что я могу использовать директиву exclude в этом файле, чтобы исключить политики, с которыми я не согласен, но для этого мне нужно найти имя политика, которая вызывает ошибку, которую я хочу подавить.

Я нигде не могу найти список политик в документации по CPAN, а в сообщениях об ошибках не указывается название генерирующей политики, так что я в полной растерянности относительно того, как я должен создать мой список исключений.

Если бы кто-нибудь мог указать мне на способ сопоставления ошибок с политиками или даже просто указать мне список основных политик, я был бы очень признателен!

Ответы [ 6 ]

6 голосов
/ 18 ноября 2011

Сильно неинтуитивный флаг --verbose - это то, что вам нужно, в соответствии с Как мне заставить Perl :: Critic показывать политику-нарушителя в своих выходных данных?

gdarcy@greg-pc:~$ perlcritic --verbose 8 src/Some/Module.pm 
[TestingAndDebugging::RequireUseStrict] Code before strictures are enabled at line 19, column 1.  (Severity: 5)
[Variables::RequireLexicalLoopIterators] Loop iterator is not lexical at line 1899, column 4.  (Severity: 5)
[Variables::RequireLexicalLoopIterators] Loop iterator is not lexical at line 1911, column 4.  (Severity: 5)
[Variables::RequireLexicalLoopIterators] Loop iterator is not lexical at line 2487, column 4.  (Severity: 5)
[Variables::RequireLexicalLoopIterators] Loop iterator is not lexical at line 3902, column 2.  (Severity: 5)
3 голосов
/ 18 ноября 2011

Где я работаю, у нас есть файл проекта perlcriticrc, который содержит строку

verbose = [%p] %m at line %l, column %c.  %e.  (Severity: %s)\n

. [%p] показывает политику, аналогичную --verbose 8 в командной строке.

2 голосов
/ 19 ноября 2011

Опции --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
2 голосов
/ 18 ноября 2011

verbose значение 9 покажет вам имена политик:

perlcritic --verbose 9

Сценарий generatestats, который можно найти на CPAN по ссылке MANIFEST, показывает сводкуимена политик.

2 голосов
/ 18 ноября 2011

Возможно Perl::Critic::PolicySummary.

0 голосов
/ 18 ноября 2011

Запросить индекс CPAN для модулей в пространстве имен P :: C :: Policy.Это включает политики, которых нет в основном дистрибутиве P :: C.

$ cpan

cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.

cpan[1]> m /Perl::Critic::Policy::/
  Database was generated on Fri, 18 Nov 2011 14:38:48 GMT
Module  = Perl::Critic::Policy::Bangs::ProhibitBitwiseOperators (PETDANCE/Perl-Critic-Bangs-1.08.tar.gz)
Module  = Perl::Critic::Policy::Bangs::ProhibitCommentedOutCode (PETDANCE/Perl-Critic-Bangs-1.08.tar.gz)
Module  = Perl::Critic::Policy::Bangs::ProhibitFlagComments (PETDANCE/Perl-Critic-Bangs-1.08.tar.gz)
Module  = Perl::Critic::Policy::Bangs::ProhibitNoPlan (PETDANCE/Perl-Critic-Bangs-1.08.tar.gz)
Module  = Perl::Critic::Policy::Bangs::ProhibitNumberedNames (PETDANCE/Perl-Critic-Bangs-1.08.tar.gz)
Module  = Perl::Critic::Policy::Bangs::ProhibitRefProtoOrProto (PETDANCE/Perl-Critic-Bangs-1.08.tar.gz)
Module  = Perl::Critic::Policy::Bangs::ProhibitUselessRegexModifiers (PETDANCE/Perl-Critic-Bangs-1.08.tar.gz)
Module  = Perl::Critic::Policy::Bangs::ProhibitVagueNames (PETDANCE/Perl-Critic-Bangs-1.08.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitBooleanGrep (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitSleepViaSelect (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitStringySplit (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalCan (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalIsa (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::RequireGlobFunction (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::BuiltinFunctions::RequireSimpleSortBlock (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ClassHierarchies::ProhibitExplicitISA (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::ProhibitHardTabs (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::ProhibitHashBarewords (MARCELO/Perl-Critic-Itch-0.07.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::ProhibitTrailingWhitespace (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::RequireASCII (ELLIOTJS/Perl-Critic-More-1.000.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::RequireConsistentNewlines (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::RequireFinalSemicolon (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::RequireTidyCode (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::RequireTrailingCommaAtNewline (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::CodeLayout::RequireTrailingCommas (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  < Perl::Critic::Policy::CodeLayout::RequireUseUTF8 (ELLIOTJS/Perl-Critic-Swift-v1.0.3.tar.gz)
Module  = Perl::Critic::Policy::Compatibility::ConstantLeadingUnderscore (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Compatibility::ConstantPragmaHash (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Compatibility::Gtk2Constants (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Compatibility::PerlMinimumVersionAndWhy (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Compatibility::PodMinimumVersion (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  < Perl::Critic::Policy::Compatibility::ProhibitThreeArgumentOpen (ELLIOTJS/Perl-Critic-Compatibility-1.001.tar.gz)
Module  = Perl::Critic::Policy::Compatibility::ProhibitUnixDevNull (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitCStyleForLoops (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitDeepNests (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Documentation::PodSpelling (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Documentation::ProhibitAdjacentLinks (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Documentation::ProhibitBadAproposMarkup (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Documentation::ProhibitLinkToSelf (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Documentation::ProhibitParagraphTwoDots (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Documentation::ProhibitUnbalancedParens (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Documentation::ProhibitVerbatimMarkup (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Documentation::RequireEndBeforeLastPod (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Documentation::RequireLinkedURLs (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  < Perl::Critic::Policy::Documentation::RequirePODUseEncodingUTF8 (ELLIOTJS/Perl-Critic-Swift-v1.0.3.tar.gz)
Module  = Perl::Critic::Policy::Documentation::RequirePackageMatchesPodName (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Documentation::RequirePodAtEnd (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Documentation::RequirePodLinksIncludeText (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Documentation::RequirePodSections (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  < Perl::Critic::Policy::Dynamic::NoIndirect (VPIT/Perl-Critic-Policy-Dynamic-NoIndirect-0.06.tar.gz)
Module  < Perl::Critic::Policy::Dynamic::ValidateAgainstSymbolTable (THALJEF/Perl-Critic-Dynamic-0.05.tar.gz)
Module  = Perl::Critic::Policy::Editor::RequireEmacsFileVariables (ELLIOTJS/Perl-Critic-More-1.000.tar.gz)
Module  = Perl::Critic::Policy::ErrorHandling::RequireCarping (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ErrorHandling::RequireUseOfExceptions (ELLIOTJS/Perl-Critic-More-1.000.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::ProhibitInteractiveTest (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::ProhibitJoinedReadline (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::ProhibitOneArgSelect (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::RequireBracedFileHandleWithPrint (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::RequireBriefOpen (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::RequireCheckedClose (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::RequireCheckedOpen (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::RequireCheckedSyscalls (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Lax::ProhibitComplexMappings::LinesNotStatements (RJBS/Perl-Critic-Lax-0.008.tar.gz)
Module  = Perl::Critic::Policy::Lax::ProhibitEmptyQuotes::ExceptAsFallback (RJBS/Perl-Critic-Lax-0.008.tar.gz)
Module  = Perl::Critic::Policy::Lax::ProhibitLeadingZeros::ExceptChmod (RJBS/Perl-Critic-Lax-0.008.tar.gz)
Module  = Perl::Critic::Policy::Lax::ProhibitStringyEval::ExceptForRequire (RJBS/Perl-Critic-Lax-0.008.tar.gz)
Module  = Perl::Critic::Policy::Lax::RequireEndWithTrueConst (RJBS/Perl-Critic-Lax-0.008.tar.gz)
Module  = Perl::Critic::Policy::Lax::RequireExplicitPackage::ExceptForPragmata (RJBS/Perl-Critic-Lax-0.008.tar.gz)
Module  = Perl::Critic::Policy::Miscellanea::ProhibitFormats (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Miscellanea::ProhibitTies (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Miscellanea::ProhibitUnrestrictedNoCritic (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Miscellanea::ProhibitUselessNoCritic (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Miscellanea::RequireRcsKeywords (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Miscellanea::TextDomainPlaceholders (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Miscellanea::TextDomainUnused (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Modules::PerlMinimumVersion (ELLIOTJS/Perl-Critic-More-1.000.tar.gz)
Module  = Perl::Critic::Policy::Modules::ProhibitAutomaticExportation (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::ProhibitConditionalUseStatements (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::ProhibitEvilModules (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::ProhibitExcessMainComplexity (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::ProhibitModuleShebang (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Modules::ProhibitMultiplePackages (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::ProhibitPOSIXimport (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Modules::ProhibitUseQuotedVersion (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Modules::RequireBarewordIncludes (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::RequireEndWithOne (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::RequireExplicitInclusion (THALJEF/strictersubs/Perl-Critic-StricterSubs-0.03.tar.gz)
Module  = Perl::Critic::Policy::Modules::RequireExplicitPackage (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Modules::RequirePerlVersion (ELLIOTJS/Perl-Critic-More-1.000.tar.gz)
Module  = Perl::Critic::Policy::Modules::RequireVersionVar (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::NamingConventions::Capitalization (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  < Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs (ELLIOTJS/Perl-Critic-Deprecated-1.108.tar.gz)
Module  < Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseVars (ELLIOTJS/Perl-Critic-Deprecated-1.108.tar.gz)
Module  < Perl::Critic::Policy::OTRS::ProhibitDumper (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  < Perl::Critic::Policy::OTRS::ProhibitFetchrowHashref (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  < Perl::Critic::Policy::OTRS::ProhibitLocaltime (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  < Perl::Critic::Policy::OTRS::ProhibitLowPrecendeceOps (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  < Perl::Critic::Policy::OTRS::ProhibitOpen (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  < Perl::Critic::Policy::OTRS::ProhibitRequire (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  < Perl::Critic::Policy::OTRS::ProhibitSomeCoreFunctions (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  < Perl::Critic::Policy::OTRS::RequireCamelCase (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  < Perl::Critic::Policy::OTRS::RequireParensWithMethods (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  < Perl::Critic::Policy::OTRS::RequireTrueReturnValueForModules (RENEEB/Perl-Critic-OTRS-0.01.tar.gz)
Module  = Perl::Critic::Policy::Objects::ProhibitIndirectSyntax (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::References::ProhibitDoubleSigils (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::ProhibitComplexRegexes (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::ProhibitEnumeratedClasses (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::ProhibitUnusedCapture (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::RequireDotMatchAnything (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::RequireExtendedFormatting (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Storable::ProhibitStoreOrFreeze (MATTD/Perl-Critic-Storable-0.01.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitBuiltinHomonyms (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitCallsToUndeclaredSubs (THALJEF/strictersubs/Perl-Critic-StricterSubs-0.03.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitCallsToUnexportedSubs (THALJEF/strictersubs/Perl-Critic-StricterSubs-0.03.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitExplicitReturnUndef (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitExportingUndeclaredSubs (THALJEF/strictersubs/Perl-Critic-StricterSubs-0.03.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitManyArgs (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitNestedSubs (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitQualifiedSubDeclarations (THALJEF/strictersubs/Perl-Critic-StricterSubs-0.03.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitReturnSort (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitSubroutinePrototypes (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProhibitUnusedPrivateSubroutines (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::ProtectPrivateSubs (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::RequireArgUnpacking (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Subroutines::RequireFinalReturn (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::TestingAndDebugging::ProhibitNoStrict (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::TestingAndDebugging::ProhibitProlongedStrictureOverride (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Tics::ProhibitLongLines (RJBS/Perl-Critic-Tics-0.006.tar.gz)
Module  = Perl::Critic::Policy::Tics::ProhibitManyArrows (RJBS/Perl-Critic-Tics-0.006.tar.gz)
Module  = Perl::Critic::Policy::Tics::ProhibitUseBase (RJBS/Perl-Critic-Tics-0.006.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ConstantBeforeLt (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::NotWithCompare (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitAccessOfPrivateData (KCOWGILL/Perl-Critic-Nits-v1.0.0.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitArrayAssignAref (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitBarewordDoubleColon (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitComplexVersion (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyCommas (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitEscapedCharacters (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitFiletest_f (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitLeadingZeros (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitMixedBooleanOperators (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitNoisyQuotes (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitNullStatements (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitUnknownBackslash (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::RequireConstantVersion (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::RequireNumericVersion (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::RequireQuotedHeredocTerminator (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseHeredocTerminator (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::RestrictLongStrings (ELLIOTJS/Perl-Critic-More-1.000.tar.gz)
Module  = Perl::Critic::Policy::ValuesAndExpressions::UnexpandedSpecialLiteral (KRYDE/Perl-Critic-Pulp-65.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitEvilVariables (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitLocalVars (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitMatchVars (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitPackageVars (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitPerl4PackageNames (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitPunctuationVars (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitReusedNames (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitUnusedVariables (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProhibitUselessInitialization (JTRAMMELL/Perl-Critic-PetPeeves-JTRAMMELL-0.02.tar.gz)
Module  = Perl::Critic::Policy::Variables::ProtectPrivateVars (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::RequireInitializationForLocalVars (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::RequireLexicalLoopIterators (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::RequireLocalizedPunctuationVars (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  = Perl::Critic::Policy::Variables::RequireNegativeIndices (ELLIOTJS/Perl-Critic-1.116.tar.gz)
Module  < Perl::Critic::Policy::logicLAB::ProhibitShellDispatch (JONASBN/Perl-Critic-Policy-logicLAB-ProhibitShellDispatch-0.01.tar.gz)
Module  < Perl::Critic::Policy::logicLAB::ProhibitUseLib (JONASBN/Perl-Critic-Policy-logicLAB-ProhibitUseLib-0.01.tar.gz)
Module  < Perl::Critic::Policy::logicLAB::RequireSheBang (JONASBN/Perl-Critic-Policy-logicLAB-RequireSheBang-0.03.tar.gz)
Module  = Perl::Critic::Policy::logicLAB::RequireVersionFormat (JONASBN/Perl-Critic-Policy-logicLAB-RequireVersionFormat-0.03.tar.gz)
225 items found
...