App-CpanDak
view release on metacpan or search on metacpan
perlcritic.rc view on Meta::CPAN
# Put a comma at the end of every multi-line list declaration, including the last one.
[CodeLayout::RequireTrailingCommas]
# Write `for(0..20)' instead of `for($i=0; $i<=20; $i++)'.
[ControlStructures::ProhibitCStyleForLoops]
# Don't write long "if-elsif-elsif-elsif-elsif...else" chains.
[ControlStructures::ProhibitCascadingIfElse]
# Don't write deeply nested loops and conditionals.
[ControlStructures::ProhibitDeepNests]
max_nests = 5
# Don't use labels that are the same as the special block names.
[ControlStructures::ProhibitLabelsWithSpecialBlockNames]
# Don't modify `$_' in list functions.
[ControlStructures::ProhibitMutatingListFunctions]
# Don't use operators like `not', `!~', and `le' within `until' and `unless'.
[-ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions]
# Write `if($condition){ do_something() }' instead of `do_something() if $condition'.
[-ControlStructures::ProhibitPostfixControls]
# Write `if(! $condition)' instead of `unless($condition)'.
[-ControlStructures::ProhibitUnlessBlocks]
# Don't write code after an unconditional `die, exit, or next'.
[ControlStructures::ProhibitUnreachableCode]
# Write `while(! $condition)' instead of `until($condition)'.
[ControlStructures::ProhibitUntilBlocks]
# Check your spelling.
[-Documentation::PodSpelling]
# The `=head1 NAME' section should match the package.
[-Documentation::RequirePackageMatchesPodName]
# All POD should be after `__END__'.
[-Documentation::RequirePodAtEnd]
# Organize your POD into the customary sections.
[-Documentation::RequirePodSections]
# Use functions from Carp instead of `warn' or `die'.
[ErrorHandling::RequireCarping]
# You can't depend upon the value of `$@'/`$EVAL_ERROR' to tell whether an `eval' failed.
[ErrorHandling::RequireCheckingReturnValueOfEval]
# Discourage stuff like `@files = `ls $directory`'.
[InputOutput::ProhibitBacktickOperators]
# Write `open my $fh, q{<}, $filename;' instead of `open FH, q{<}, $filename;'.
[InputOutput::ProhibitBarewordFileHandles]
severity = 2
# Use "<>" or "<ARGV>" or a prompting module instead of "<STDIN>".
[InputOutput::ProhibitExplicitStdin]
# Use prompt() instead of -t.
[InputOutput::ProhibitInteractiveTest]
# Use `local $/ = undef' or File::Slurp instead of joined readline.
[InputOutput::ProhibitJoinedReadline]
# Never write `select($fh)'.
[InputOutput::ProhibitOneArgSelect]
# Write `while( $line = <> ){...}' instead of `for(<>){...}'.
[InputOutput::ProhibitReadlineInForLoop]
# Write `open $fh, q{<}, $filename;' instead of `open $fh, "<$filename";'.
[InputOutput::ProhibitTwoArgOpen]
severity = 2
# Write `print {$FH} $foo, $bar;' instead of `print $FH $foo, $bar;'.
[-InputOutput::RequireBracedFileHandleWithPrint]
# Close filehandles as soon as possible after opening them.
[-InputOutput::RequireBriefOpen]
# Write `my $error = close $fh;' instead of `close $fh;'.
[-InputOutput::RequireCheckedClose]
# Write `my $error = open $fh, $mode, $filename;' instead of `open $fh, $mode, $filename;'.
[-InputOutput::RequireCheckedOpen]
# Return value of flagged function ignored.
[-InputOutput::RequireCheckedSyscalls]
# Write `open $fh, q{<:encoding(UTF-8)}, $filename;' instead of `open $fh, q{{<:utf8}, $filename;'.
[InputOutput::RequireEncodingWithUTF8Layer]
# Do not use `format'.
[Miscellanea::ProhibitFormats]
# Do not use `tie'.
[Miscellanea::ProhibitTies]
# Forbid a bare `## no critic'
[Miscellanea::ProhibitUnrestrictedNoCritic]
# Remove ineffective "## no critic" annotations.
[Miscellanea::ProhibitUselessNoCritic]
# Export symbols via `@EXPORT_OK' or `%EXPORT_TAGS' instead of `@EXPORT'.
[Modules::ProhibitAutomaticExportation]
# Avoid putting conditional logic around compile-time includes.
[Modules::ProhibitConditionalUseStatements]
# Minimize complexity in code that is outside of subroutines.
[Modules::ProhibitExcessMainComplexity]
max_mccabe = 20
# Put packages (especially subclasses) in separate files.
[Modules::ProhibitMultiplePackages]
severity = 2
# Write `require Module' instead of `require 'Module.pm''.
( run in 2.510 seconds using v1.01-cache-2.11-cpan-6aa56a78535 )