NAME
Perl::Critic::Community - Community-inspired Perl::Critic policies
SYNOPSIS
$ perlcritic --theme community script.pl
$ perlcritic --theme community lib/
# .perlcriticrc
theme = community
severity = 1
DESCRIPTION
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.
AFFILIATION
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.
POLICIES
- 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
$aor$bas 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
returnwith 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_perlto 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::SplitQuotedPattern
 - 
Quote the split() pattern argument with regex slashes
 - 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
-wswitch on the shebang line - Perl::Critic::Policy::Community::WhileDiamondDefaultAssignment
 - 
Don't use
whilewith implicit assignment to$_ 
CONFIGURATION AND ENVIRONMENT
All policies included are in the "community" theme. See the Perl::Critic documentation for how to make use of this.
AUTHOR
Dan Book, dbook@cpan.org
CONTRIBUTORS
- Graham Knop (haarg)
 - H.Merijn Brand (Tux)
 - John SJ Anderson (genehack)
 - Matt S Trout (mst)
 - William Taylor (willt)
 
COPYRIGHT AND LICENSE
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.