App-PerlCriticUtils
view release on metacpan or search on metacpan
lib/App/PerlCriticUtils.pm 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",
lib/App/PerlCriticUtils.pm view on Meta::CPAN
=item * 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,
lib/App/PerlCriticUtils.pm 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 2.412 seconds using v1.01-cache-2.11-cpan-6aa56a78535 )