Documentation

Command-line interface to critique Perl source.

Modules

PerlFormance - Invariant cargo files
Critique Perl source code for best-practices. UNAUTHORIZED
A "## no critic" annotation in a document. UNAUTHORIZED
Guts of perlcritic. UNAUTHORIZED
The final derived Perl::Critic configuration, combined from any profile file and command-line parameters. UNAUTHORIZED
Caching wrapper around a PPI::Document. UNAUTHORIZED
A problem identified by Perl::Critic. UNAUTHORIZED
A collection of a set of problems found in the configuration and/or command-line options. UNAUTHORIZED
A problem with Perl::Critic configuration. UNAUTHORIZED
A problem with Perl::Critic configuration that doesn't involve an option. UNAUTHORIZED
The configuration referred to a non-existent policy. UNAUTHORIZED
A problem with an option in the Perl::Critic configuration. UNAUTHORIZED
A problem with Perl::Critic global configuration. UNAUTHORIZED
The configuration referred to a non-existent global option. UNAUTHORIZED
A problem with the value of a global parameter. UNAUTHORIZED
A problem with configuration of a policy. UNAUTHORIZED
The configuration referred to a non-existent parameter for a policy. UNAUTHORIZED
A problem with the value of a parameter for a policy. UNAUTHORIZED
A problem that should cause Perl::Critic to stop running. UNAUTHORIZED
A problem for which there is no specialized information. UNAUTHORIZED
A problem with the Perl::Critic implementation, i.e. a bug. UNAUTHORIZED
A bug in a policy. UNAUTHORIZED
A problem with input or output. UNAUTHORIZED
The code doesn't look like code. UNAUTHORIZED
The global configuration default values, combined with command-line values. UNAUTHORIZED
Base class for all Policy modules. UNAUTHORIZED
Use List::MoreUtils::any instead of grep in boolean context. UNAUTHORIZED
Map blocks should have a single statement. UNAUTHORIZED
Use 4-argument substr instead of writing substr($foo, 2, 6) = $bar. UNAUTHORIZED
Forbid $b before $a in sort blocks. UNAUTHORIZED
Use Time::HiRes instead of something like select(undef, undef, undef, .05). UNAUTHORIZED
Write eval { my $foo; bar($foo) } instead of eval "my $foo; bar($foo);". UNAUTHORIZED
Write split /-/, $string instead of split '-', $string. UNAUTHORIZED
Write < eval { $foo-can($name) } >> instead of UNIVERSAL::can($foo, $name). UNAUTHORIZED
Write < eval { $foo-isa($pkg) } >> instead of UNIVERSAL::isa($foo, $pkg). UNAUTHORIZED
Don't use grep in void contexts. UNAUTHORIZED
Don't use map in void contexts. UNAUTHORIZED
Write grep { $_ =~ /$pattern/ } @list instead of grep /$pattern/, @list. UNAUTHORIZED
Write map { $_ =~ /$pattern/ } @list instead of map /$pattern/, @list. UNAUTHORIZED
Use glob q{*} instead of <*>. UNAUTHORIZED
Sort blocks should have a single statement. UNAUTHORIZED
AUTOLOAD methods should be avoided. UNAUTHORIZED
Employ use base instead of @ISA. UNAUTHORIZED
Write bless {}, $class; instead of just bless {};. UNAUTHORIZED
Use spaces instead of tabs. UNAUTHORIZED
Write open $handle, $path instead of open($handle, $path). UNAUTHORIZED
Write qw(foo bar baz) instead of ('foo', 'bar', 'baz'). UNAUTHORIZED
Don't use whitespace at the end of lines. UNAUTHORIZED
Use the same newline through the source. UNAUTHORIZED
Must run code through perltidy. UNAUTHORIZED
Put a comma at the end of every multi-line list declaration, including the last one. UNAUTHORIZED
Write for(0..20) instead of for($i=0; $i<=20; $i++). UNAUTHORIZED
Don't write long "if-elsif-elsif-elsif-elsif...else" chains. UNAUTHORIZED
Don't write deeply nested loops and conditionals. UNAUTHORIZED
Don't use labels that are the same as the special block names. UNAUTHORIZED
Don't modify $_ in list functions. UNAUTHORIZED
Don't use operators like not, !~, and le within until and unless. UNAUTHORIZED
Write if($condition){ do_something() } instead of do_something() if $condition. UNAUTHORIZED
Write if(! $condition) instead of unless($condition). UNAUTHORIZED
Don't write code after an unconditional die, exit, or next. UNAUTHORIZED
Write while(! $condition) instead of until($condition). UNAUTHORIZED
Check your spelling. UNAUTHORIZED
The =head1 NAME section should match the package. UNAUTHORIZED
All POD should be after __END__. UNAUTHORIZED
Provide text to display with your pod links. UNAUTHORIZED
Organize your POD into the customary sections. UNAUTHORIZED
Use functions from Carp instead of warn or die. UNAUTHORIZED
You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. UNAUTHORIZED
Discourage stuff like @files = `ls $directory`. UNAUTHORIZED
Write open my $fh, q{<}, $filename; instead of open FH, q{<}, $filename;. UNAUTHORIZED
Use "<>" or "<ARGV>" or a prompting module instead of "<STDIN>". UNAUTHORIZED
Use prompt() instead of -t. UNAUTHORIZED
Use local $/ = undef or File::Slurp instead of joined readline. UNAUTHORIZED
Never write select($fh). UNAUTHORIZED
Write < while( $line = < ){...} >> instead of < for(<){...} >>. UNAUTHORIZED
Write < open $fh, q{<}, $filename; > instead of < open $fh, "<$filename"; >. UNAUTHORIZED
Write print {$FH} $foo, $bar; instead of print $FH $foo, $bar;. UNAUTHORIZED
Close filehandles as soon as possible after opening them. UNAUTHORIZED
Write < my $error = close $fh; > instead of < close $fh; >. UNAUTHORIZED
Write < my $error = open $fh, $mode, $filename; > instead of < open $fh, $mode, $filename; >. UNAUTHORIZED
Return value of flagged function ignored. UNAUTHORIZED
Do not use format. UNAUTHORIZED
Forbid a bare ## no critic UNAUTHORIZED
Remove ineffective "## no critic" annotations. UNAUTHORIZED
Put source-control keywords in every file. UNAUTHORIZED
Export symbols via @EXPORT_OK or %EXPORT_TAGS instead of @EXPORT. UNAUTHORIZED
Ban modules that aren't blessed by your shop. UNAUTHORIZED
Minimize complexity in code that is outside of subroutines. UNAUTHORIZED
Put packages (especially subclasses) in separate files. UNAUTHORIZED
Write require Module instead of require 'Module.pm'. UNAUTHORIZED
End each module with an explicitly 1; instead of some funky expression. UNAUTHORIZED
Always make the package explicit. UNAUTHORIZED
Package declaration must match filename. UNAUTHORIZED
use English must be passed a -no_match_vars argument. UNAUTHORIZED
Give every module a $VERSION number. UNAUTHORIZED
Distinguish different program components by case. UNAUTHORIZED
Don't use vague variable or subroutine names like 'last' or 'record'. UNAUTHORIZED
Prohibit indirect object call syntax. UNAUTHORIZED
Write @{ $array_ref } instead of @$array_ref. UNAUTHORIZED
Capture variable used outside conditional. UNAUTHORIZED
Split long regexps into smaller qr// chunks. UNAUTHORIZED
Use named character classes instead of explicit character lists. UNAUTHORIZED
Use character classes for literal meta-characters instead of escapes. UNAUTHORIZED
Use eq or hash instead of fixed-pattern regexps. UNAUTHORIZED
Only use a capturing group if you plan to use the captured value. UNAUTHORIZED
Use only // or {} to delimit regexps. UNAUTHORIZED
Use { and } to delimit multi-line regexps. UNAUTHORIZED
Always use the /s modifier with regular expressions. UNAUTHORIZED
Always use the /x modifier with regular expressions. UNAUTHORIZED
Always use the /m modifier with regular expressions. UNAUTHORIZED
Don't call functions with a leading ampersand sigil. UNAUTHORIZED
Don't declare your own open function. UNAUTHORIZED
Minimize complexity by factoring code into smaller subroutines. UNAUTHORIZED
Return failure with bare return instead of return undef. UNAUTHORIZED
Too many arguments. UNAUTHORIZED
sub never { sub correct {} }. UNAUTHORIZED
Behavior of sort is not defined if called in scalar context. UNAUTHORIZED
Don't write sub my_function (@@) {}. UNAUTHORIZED
Prevent unused private subroutines. UNAUTHORIZED
Prevent access to private subs in other packages. UNAUTHORIZED
Always unpack @_ first. UNAUTHORIZED
End every path through a subroutine with an explicit return statement. UNAUTHORIZED
Prohibit various flavors of no strict. UNAUTHORIZED
Prohibit various flavors of no warnings. UNAUTHORIZED
Don't turn off strict for large blocks of code. UNAUTHORIZED
Tests should all have labels. UNAUTHORIZED
Don't use the comma operator as a statement separator. UNAUTHORIZED
Prohibit version values from outside the module. UNAUTHORIZED
Don't < use constant FOO = 15 >>. UNAUTHORIZED
Write "\N{DELETE}" instead of "\x7F", etc. UNAUTHORIZED
Use concatenation or HEREDOCs instead of literal line breaks in strings. UNAUTHORIZED
Always use single quotes for literal strings. UNAUTHORIZED
Write oct(755) instead of 0755. UNAUTHORIZED
Long chains of method calls indicate tightly coupled code. UNAUTHORIZED
Don't use values that don't explain themselves. UNAUTHORIZED
Don't mix numeric operators with string operands, or vice-versa. UNAUTHORIZED
Write !$foo && $bar instead of not $foo && $bar or $baz. UNAUTHORIZED
Use q{} or qq{} instead of quotes for awkward-looking strings. UNAUTHORIZED
Don't use quotes (', ", `) as delimiters for the quote-like operators. UNAUTHORIZED
Don't use strings like v1.4 or 1.4.5 when including other modules. UNAUTHORIZED
Require $VERSION to be a constant rather than a computed value. UNAUTHORIZED
Warns that you might have used single quotes when you really wanted double-quotes. UNAUTHORIZED
Write 141_234_397.0145 instead of 141234397.0145 . UNAUTHORIZED
Write print <<'THE_END' or print <<"THE_END" . UNAUTHORIZED
Write <<'THE_END'; instead of <<'theEnd'; . UNAUTHORIZED
Do not write my $foo = $bar if $baz; . UNAUTHORIZED
Ban variables that aren't blessed by your shop. UNAUTHORIZED
Use my instead of local, except when you have to. UNAUTHORIZED
Avoid $`, $&, $' and their English equivalents. UNAUTHORIZED
Eliminate globals declared with our or use vars. UNAUTHORIZED
Use double colon (::) to separate package name components instead of single quotes ('). UNAUTHORIZED
Write $EVAL_ERROR instead of $@. UNAUTHORIZED
Do not reuse a variable name in a lexical scope UNAUTHORIZED
Don't ask for storage you don't need. UNAUTHORIZED
Prevent access to private vars in other packages. UNAUTHORIZED
Write local $foo = $bar; instead of just local $foo;. UNAUTHORIZED
Write for my $element (@list) {...} instead of for $element (@list) {...}. UNAUTHORIZED
Magic variables should be assigned as "local". UNAUTHORIZED
Negative array index should be used. UNAUTHORIZED
Configuration data for a Policy. UNAUTHORIZED
Instantiates Policy objects. UNAUTHORIZED
Display minimal information about Policies. UNAUTHORIZED
Metadata about a parameter for a Policy. UNAUTHORIZED
Default type-specific actions for a parameter. UNAUTHORIZED
Actions appropriate for a boolean parameter. UNAUTHORIZED
Actions appropriate for an enumerated value. UNAUTHORIZED
Actions appropriate for an integer parameter. UNAUTHORIZED
Actions appropriate for a simple string parameter. UNAUTHORIZED
Actions appropriate for a parameter that is a list of strings. UNAUTHORIZED
Generate an initial Perl::Critic profile. UNAUTHORIZED
Compile stats on Perl::Critic violations. UNAUTHORIZED
Utility functions for testing new Policies. UNAUTHORIZED
Construct thematic sets of policies. UNAUTHORIZED
List the themes of the installed Policies. UNAUTHORIZED
The contents of the user's profile, often .perlcriticrc. UNAUTHORIZED
General utility subroutines and constants for Perl::Critic and derivative distributions. UNAUTHORIZED
Global constants. UNAUTHORIZED
Utilities for converting from one type of data to another. UNAUTHORIZED
Functions that calculate the McCabe score of source code. UNAUTHORIZED
Utility functions for dealing with POD. UNAUTHORIZED
Utility functions for dealing with PPI objects. UNAUTHORIZED
Utility functions for dealing with Perl language issues. UNAUTHORIZED
A violation of a Policy found in some source code. UNAUTHORIZED

Provides

in lib/auto/Benchmark/Perl/Formance/Cargo/MooseTS/t/lib/NoInlineAttribute.pm

Other files