App-PerlCriticUtils

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

               applies_to => "PPI::Document",
             },
             {
               name => "Documentation::RequirePackageMatchesPodName",
               abstract => "The C<=head1 NAME> section should match the package.",
               supported_parameters => "",
               default_severity => 1,
               default_themes => "core, cosmetic",
               applies_to => "PPI::Document",
             },
             {
               name => "Documentation::RequirePodAtEnd",
               abstract => "All POD should be after C<__END__>.",
               applies_to => "PPI::Document",
               default_themes => "core, cosmetic, pbp",
               default_severity => 1,
               supported_parameters => "",
             },
             {
               name => "Documentation::RequirePodSections",
               abstract => "Organize your POD into the customary sections.",
               supported_parameters => "lib_sections, script_sections, source, language",
               applies_to => "PPI::Document",
               default_severity => 2,
               default_themes => "core, pbp, maintenance",
             },
             {
               name => "ErrorHandling::RequireCarping",
               abstract => "Use functions from L<Carp|Carp> instead of C<warn> or C<die>.",
               applies_to => "PPI::Token::Word",
               default_themes => "core, pbp, maintenance, certrule",
               default_severity => 3,
               supported_parameters => "allow_messages_ending_with_newlines, allow_in_main_unless_in_subroutine",
             },
             {
               name => "ErrorHandling::RequireCheckingReturnValueOfEval",
               abstract => "You can't depend upon the value of C<\$\@>/C<\$EVAL_ERROR> to tell whether an C<eval> failed.",
               supported_parameters => "",
               default_severity => 3,
               default_themes => "core, bugs",
               applies_to => "PPI::Token::Word",
             },
             {
               name => "InputOutput::ProhibitBacktickOperators",
               abstract => "Discourage stuff like C<\@files = `ls \$directory`>.",
               applies_to => "PPI::Token::QuoteLike::Command",
               default_themes => "core, maintenance",
               default_severity => 3,
               supported_parameters => "only_in_void_context",
             },
             {
               name => "InputOutput::ProhibitBarewordFileHandles",
               abstract => "Write C<open my \$fh, q{<}, \$filename;> instead of C<open FH, q{<}, \$filename;>.",
               supported_parameters => "",
               default_themes => "core, pbp, bugs, certrec",
               default_severity => 5,
               applies_to => "PPI::Token::Word",
             },
             {
               name => "InputOutput::ProhibitExplicitStdin",
               abstract => "Use \"<>\" or \"<ARGV>\" or a prompting module instead of \"<STDIN>\".",
               supported_parameters => "",
               applies_to => "PPI::Token::QuoteLike::Readline",
               default_themes => "core, pbp, maintenance",
               default_severity => 4,
             },
             {
               name => "InputOutput::ProhibitInteractiveTest",
               abstract => "Use prompt() instead of -t.",
               applies_to => "PPI::Token::Operator",
               default_themes => "core, pbp, bugs, certrule",
               default_severity => 5,
               supported_parameters => "",
             },
             {
               name => "InputOutput::ProhibitJoinedReadline",
               abstract => "Use C<local \$/ = undef> or L<Path::Tiny|Path::Tiny> instead of joined readline.",
               supported_parameters => "",
               default_themes => "core, pbp, performance",
               default_severity => 3,
               applies_to => "PPI::Token::Word",
             },
             {
               name => "InputOutput::ProhibitOneArgSelect",
               abstract => "Never write C<select(\$fh)>.",
               default_themes => "core, bugs, pbp, certrule",
               default_severity => 4,
               applies_to => "PPI::Token::Word",
               supported_parameters => "",
             },
             {
               name => "InputOutput::ProhibitReadlineInForLoop",
               abstract => "Write C<< while( \$line = <> ){...} >> instead of C<< for(<>){...} >>.",
               supported_parameters => "",
               applies_to => "PPI::Statement::Compound",
               default_themes => "core, bugs, pbp",
               default_severity => 4,
             },
             {
               name => "InputOutput::ProhibitTwoArgOpen",
               abstract => "Write C<< open \$fh, q{<}, \$filename; >> instead of C<< open \$fh, \"<\$filename\"; >>.",
               default_severity => 5,
               default_themes => "core, pbp, bugs, security, certrule",
               applies_to => "PPI::Token::Word",
               supported_parameters => "",
             },
             {
               name => "InputOutput::RequireBracedFileHandleWithPrint",
               abstract => "Write C<print {\$FH} \$foo, \$bar;> instead of C<print \$FH \$foo, \$bar;>.",
               supported_parameters => "",
               default_severity => 1,
               default_themes => "core, pbp, cosmetic",
               applies_to => "PPI::Token::Word",
             },
             {
               name => "InputOutput::RequireBriefOpen",
               abstract => "Close filehandles as soon as possible after opening them.",
               default_severity => 4,
               default_themes => "core, pbp, maintenance",
               applies_to => "PPI::Token::Word",
               supported_parameters => "lines",
             },
             {
               name => "InputOutput::RequireCheckedClose",
               abstract => "Write C<< my \$error = close \$fh; >> instead of C<< close \$fh; >>.",
               default_themes => "core, maintenance, certrule",
               default_severity => 2,
               applies_to => "PPI::Token::Word",
               supported_parameters => "autodie_modules",

README  view on Meta::CPAN

    *   List policies which have default severity of 5:

         pcplist(default_severity => 5, detail => 1);

        Result:

         [
           200,
           "OK",
           [
             {
               name => "BuiltinFunctions::ProhibitSleepViaSelect",
               abstract => "Use L<Time::HiRes|Time::HiRes> instead of something like C<select(undef, undef, undef, .05)>.",
               default_severity => 5,
               default_themes => "core, pbp, bugs",
               applies_to => "PPI::Token::Word",
               supported_parameters => "",
             },
             {
               name => "BuiltinFunctions::ProhibitStringyEval",
               abstract => "Write C<eval { my \$foo; bar(\$foo) }> instead of C<eval \"my \$foo; bar(\$foo);\">.",
               default_severity => 5,
               default_themes => "core, pbp, bugs, certrule",
               applies_to => "PPI::Token::Word",
               supported_parameters => "allow_includes",
             },
             {
               name => "BuiltinFunctions::RequireGlobFunction",
               abstract => "Use C<glob q{*}> instead of <*>.",
               supported_parameters => "",
               applies_to => "PPI::Token::QuoteLike::Readline",
               default_themes => "core, pbp, bugs",
               default_severity => 5,
             },
             {
               name => "ClassHierarchies::ProhibitOneArgBless",
               abstract => "Write C<bless {}, \$class;> instead of just C<bless {};>.",
               default_themes => "core, pbp, bugs",
               default_severity => 5,
               applies_to => "PPI::Token::Word",
               supported_parameters => "",
             },
             {
               name => "ControlStructures::ProhibitMutatingListFunctions",
               abstract => "Don't modify C<\$_> in list functions.",
               applies_to => "PPI::Token::Word",
               default_severity => 5,
               default_themes => "core, bugs, pbp, certrule",
               supported_parameters => "list_funcs, add_list_funcs",
             },
             {
               name => "InputOutput::ProhibitBarewordFileHandles",
               abstract => "Write C<open my \$fh, q{<}, \$filename;> instead of C<open FH, q{<}, \$filename;>.",
               supported_parameters => "",
               applies_to => "PPI::Token::Word",
               default_severity => 5,
               default_themes => "core, pbp, bugs, certrec",
             },
             {
               name => "InputOutput::ProhibitInteractiveTest",
               abstract => "Use prompt() instead of -t.",
               default_severity => 5,
               default_themes => "core, pbp, bugs, certrule",
               applies_to => "PPI::Token::Operator",
               supported_parameters => "",
             },
             {
               name => "InputOutput::ProhibitTwoArgOpen",
               abstract => "Write C<< open \$fh, q{<}, \$filename; >> instead of C<< open \$fh, \"<\$filename\"; >>.",
               supported_parameters => "",
               default_severity => 5,
               default_themes => "core, pbp, bugs, security, certrule",
               applies_to => "PPI::Token::Word",
             },
             {
               name => "InputOutput::RequireEncodingWithUTF8Layer",
               abstract => "Write C<< open \$fh, q{<:encoding(UTF-8)}, \$filename; >> instead of C<< open \$fh, q{<:utf8}, \$filename; >>.",
               supported_parameters => "",
               default_themes => "core, bugs, security",
               default_severity => 5,
               applies_to => "PPI::Token::Word",
             },
             {
               name => "Modules::ProhibitEvilModules",
               abstract => "Ban modules that aren't blessed by your shop.",
               default_themes => "core, bugs, certrule",
               default_severity => 5,
               applies_to => "PPI::Statement::Include",
               supported_parameters => "modules, modules_file",
             },
             {
               name => "Modules::RequireBarewordIncludes",
               abstract => "Write C<require Module> instead of C<require 'Module.pm'>.",
               supported_parameters => "",
               applies_to => "PPI::Statement::Include",
               default_themes => "core, portability",
               default_severity => 5,
             },
             {
               name => "Modules::RequireFilenameMatchesPackage",
               abstract => "Package declaration must match filename.",
               supported_parameters => "",
               default_themes => "core, bugs",
               default_severity => 5,
               applies_to => "PPI::Document",
             },
             {
               name => "Subroutines::ProhibitExplicitReturnUndef",
               abstract => "Return failure with bare C<return> instead of C<return undef>.",
               applies_to => "PPI::Token::Word",
               default_severity => 5,
               default_themes => "core, pbp, bugs, certrec",
               supported_parameters => "",
             },
             {
               name => "Subroutines::ProhibitNestedSubs",
               abstract => "C<sub never { sub correct {} }>.",
               supported_parameters => "",
               applies_to => "PPI::Statement::Sub",
               default_themes => "core, bugs",
               default_severity => 5,

README  view on Meta::CPAN

               applies_to => "PPI::Token::QuoteLike::Readline",
             },
             {
               name => "ClassHierarchies::ProhibitOneArgBless",
               abstract => "Write C<bless {}, \$class;> instead of just C<bless {};>.",
               default_themes => "core, pbp, bugs",
               default_severity => 5,
               applies_to => "PPI::Token::Word",
               supported_parameters => "",
             },
             {
               name => "CodeLayout::RequireConsistentNewlines",
               abstract => "Use the same newline through the source.",
               applies_to => "PPI::Document",
               default_severity => 4,
               default_themes => "core, bugs",
               supported_parameters => "",
             },
             {
               name => "ControlStructures::ProhibitLabelsWithSpecialBlockNames",
               abstract => "Don't use labels that are the same as the special block names.",
               supported_parameters => "",
               default_severity => 4,
               default_themes => "core, bugs",
               applies_to => "PPI::Token::Label",
             },
             {
               name => "ControlStructures::ProhibitMutatingListFunctions",
               abstract => "Don't modify C<\$_> in list functions.",
               supported_parameters => "list_funcs, add_list_funcs",
               default_themes => "core, bugs, pbp, certrule",
               default_severity => 5,
               applies_to => "PPI::Token::Word",
             },
             {
               name => "ControlStructures::ProhibitUnreachableCode",
               abstract => "Don't write code after an unconditional C<die, exit, or next>.",
               supported_parameters => "",
               applies_to => "PPI::Token::Word",
               default_severity => 4,
               default_themes => "core, bugs, certrec",
             },
             {
               name => "ControlStructures::ProhibitYadaOperator",
               abstract => "Never use C<...> in production code.",
               supported_parameters => "",
               applies_to => "PPI::Token::Operator",
               default_themes => "core, pbp, maintenance",
               default_severity => 4,
             },
             {
               name => "InputOutput::ProhibitBarewordFileHandles",
               abstract => "Write C<open my \$fh, q{<}, \$filename;> instead of C<open FH, q{<}, \$filename;>.",
               supported_parameters => "",
               default_severity => 5,
               default_themes => "core, pbp, bugs, certrec",
               applies_to => "PPI::Token::Word",
             },
             {
               name => "InputOutput::ProhibitExplicitStdin",
               abstract => "Use \"<>\" or \"<ARGV>\" or a prompting module instead of \"<STDIN>\".",
               default_severity => 4,
               default_themes => "core, pbp, maintenance",
               applies_to => "PPI::Token::QuoteLike::Readline",
               supported_parameters => "",
             },
             {
               name => "InputOutput::ProhibitInteractiveTest",
               abstract => "Use prompt() instead of -t.",
               default_severity => 5,
               default_themes => "core, pbp, bugs, certrule",
               applies_to => "PPI::Token::Operator",
               supported_parameters => "",
             },
             {
               name => "InputOutput::ProhibitOneArgSelect",
               abstract => "Never write C<select(\$fh)>.",
               default_severity => 4,
               default_themes => "core, bugs, pbp, certrule",
               applies_to => "PPI::Token::Word",
               supported_parameters => "",
             },
             {
               name => "InputOutput::ProhibitReadlineInForLoop",
               abstract => "Write C<< while( \$line = <> ){...} >> instead of C<< for(<>){...} >>.",
               default_severity => 4,
               default_themes => "core, bugs, pbp",
               applies_to => "PPI::Statement::Compound",
               supported_parameters => "",
             },
             {
               name => "InputOutput::ProhibitTwoArgOpen",
               abstract => "Write C<< open \$fh, q{<}, \$filename; >> instead of C<< open \$fh, \"<\$filename\"; >>.",
               supported_parameters => "",
               applies_to => "PPI::Token::Word",
               default_themes => "core, pbp, bugs, security, certrule",
               default_severity => 5,
             },
             {
               name => "InputOutput::RequireBriefOpen",
               abstract => "Close filehandles as soon as possible after opening them.",
               supported_parameters => "lines",
               applies_to => "PPI::Token::Word",
               default_themes => "core, pbp, maintenance",
               default_severity => 4,
             },
             {
               name => "InputOutput::RequireEncodingWithUTF8Layer",
               abstract => "Write C<< open \$fh, q{<:encoding(UTF-8)}, \$filename; >> instead of C<< open \$fh, q{<:utf8}, \$filename; >>.",
               supported_parameters => "",
               applies_to => "PPI::Token::Word",
               default_themes => "core, bugs, security",
               default_severity => 5,
             },
             {
               name => "Modules::ProhibitAutomaticExportation",
               abstract => "Export symbols via C<\@EXPORT_OK> or C<%EXPORT_TAGS> instead of C<\@EXPORT>.",
               applies_to => "PPI::Document",
               default_severity => 4,
               default_themes => "core, bugs",
               supported_parameters => "",
             },
             {
               name => "Modules::ProhibitEvilModules",
               abstract => "Ban modules that aren't blessed by your shop.",
               supported_parameters => "modules, modules_file",
               applies_to => "PPI::Statement::Include",
               default_themes => "core, bugs, certrule",
               default_severity => 5,



( run in 0.733 second using v1.01-cache-2.11-cpan-6aa56a78535 )