Perl::Critic::Community - Community-inspired Perl::Critic policies
$ perlcritic --theme community script.pl
$ perlcritic --theme community lib/
# .perlcriticrc
theme = community
severity = 1
A set of Perl::Critic policies to enforce the practices generally recommended by subsets of the Perl community, particularly on IRC. Formerly known as Perl::Critic::Freenode. Because this policy "theme" is designed to be used with zero configuration on the command line, some duplication will occur if it is used in combination with core Perl::Critic policies.
This module has no functionality, but instead contains documentation for this distribution and acts as a means of pulling other modules into a bundle. All of the Policy modules contained herein will have an "AFFILIATION" section announcing their participation in this grouping.
- Perl::Critic::Policy::Community::AmpersandSubCalls
-
Don't use
&
to call subroutines - Perl::Critic::Policy::Community::ArrayAssignAref
-
Don't assign an anonymous arrayref to an array
- Perl::Critic::Policy::Community::BarewordFilehandles
-
Don't use bareword filehandles other than built-ins
- Perl::Critic::Policy::Community::ConditionalDeclarations
-
Don't declare variables conditionally
- Perl::Critic::Policy::Community::ConditionalImplicitReturn
-
Don't end a subroutine with a conditional block
- Perl::Critic::Policy::Community::DeprecatedFeatures
-
Avoid features that have been deprecated or removed from Perl
- Perl::Critic::Policy::Community::DiscouragedModules
-
Various modules discouraged from use
- Perl::Critic::Policy::Community::DollarAB
-
Don't use
$a
or$b
as variable names outsidesort()
- Perl::Critic::Policy::Community::Each
-
Don't use
each()
to iterate through a hash - Perl::Critic::Policy::Community::EmptyReturn
-
Don't use
return
with no arguments - Perl::Critic::Policy::Community::IndirectObjectNotation
-
Don't call methods indirectly
- Perl::Critic::Policy::Community::LexicalForeachIterator
-
Don't use undeclared foreach loop iterators
- Perl::Critic::Policy::Community::LoopOnHash
-
Don't loop over hashes
- Perl::Critic::Policy::Community::ModPerl
-
Don't use
mod_perl
to write web applications - Perl::Critic::Policy::Community::MultidimensionalArrayEmulation
-
Don't use multidimensional array emulation
- Perl::Critic::Policy::Community::OpenArgs
-
Always use the three-argument form of
open()
- Perl::Critic::Policy::Community::OverloadOptions
-
Don't use overload without specifying a bool overload and enabling fallback
- Perl::Critic::Policy::Community::PackageMatchesFilename
-
Module files should declare a package matching the filename
- Perl::Critic::Policy::Community::POSIXImports
-
Don't use POSIX without specifying an import list
- Perl::Critic::Policy::Community::PreferredAlternatives
-
Various modules with preferred alternatives
- Perl::Critic::Policy::Community::Prototypes
-
Don't use function prototypes
- Perl::Critic::Policy::Community::StrictWarnings
-
Always use strict and warnings, or a module that imports these
- Perl::Critic::Policy::Community::Threads
-
Interpreter-based threads are officially discouraged
- Perl::Critic::Policy::Community::Wantarray
-
Don't write context-sensitive functions using
wantarray()
- Perl::Critic::Policy::Community::WarningsSwitch
-
Scripts should not use the
-w
switch on the shebang line - Perl::Critic::Policy::Community::WhileDiamondDefaultAssignment
-
Don't use
while
with implicit assignment to$_
All policies included are in the "community" theme. See the Perl::Critic documentation for how to make use of this.
Dan Book, dbook@cpan.org
- Graham Knop (haarg)
- H.Merijn Brand (Tux)
- John SJ Anderson (genehack)
- Matt S Trout (mst)
- William Taylor (willt)
Copyright 2015, Dan Book.
This library is free software; you may redistribute it and/or modify it under the terms of the Artistic License version 2.0.