NAME Perl::Critic::Freenode - Perl::Critic policies inspired by #perl on freenode IRC SYNOPSIS $ perlcritic --theme freenode script.pl $ perlcritic --theme freenode lib/ # .perlcriticrc theme = freenode severity = 1 DESCRIPTION A set of Perl::Critic policies to enforce the practices generally recommended by the denizens of #perl on Freenode IRC . 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::Freenode::AmpersandSubCalls Don't use & to call subroutines Perl::Critic::Policy::Freenode::ArrayAssignAref Don't assign an anonymous arrayref to an array Perl::Critic::Policy::Freenode::BarewordFilehandles Don't use bareword filehandles other than built-ins Perl::Critic::Policy::Freenode::ConditionalDeclarations Don't declare variables conditionally Perl::Critic::Policy::Freenode::ConditionalImplicitReturn Don't end a subroutine with a conditional block Perl::Critic::Policy::Freenode::DeprecatedFeatures Avoid features that have been deprecated or removed from Perl Perl::Critic::Policy::Freenode::DiscouragedModules Various modules discouraged from use Perl::Critic::Policy::Freenode::DollarAB Don't use $a or $b as variable names outside sort() Perl::Critic::Policy::Freenode::Each Don't use each() to iterate through a hash Perl::Critic::Policy::Freenode::EmptyReturn Don't use return with no arguments Perl::Critic::Policy::Freenode::IndirectObjectNotation Don't call methods indirectly Perl::Critic::Policy::Freenode::LexicalForeachIterator Don't use undeclared foreach loop iterators Perl::Critic::Policy::Freenode::LoopOnHash Don't loop over hashes Perl::Critic::Policy::Freenode::ModPerl Don't use mod_perl to write web applications Perl::Critic::Policy::Freenode::MultidimensionalArrayEmulation Don't use multidimensional array emulation Perl::Critic::Policy::Freenode::OpenArgs Always use the three-argument form of open() Perl::Critic::Policy::Freenode::OverloadOptions Don't use overload without specifying a bool overload and enabling fallback Perl::Critic::Policy::Freenode::PackageMatchesFilename Module files should declare a package matching the filename Perl::Critic::Policy::Freenode::POSIXImports Don't use POSIX without specifying an import list Perl::Critic::Policy::Freenode::PreferredAlternatives Various modules with preferred alternatives Perl::Critic::Policy::Freenode::Prototypes Don't use function prototypes Perl::Critic::Policy::Freenode::StrictWarnings Always use strict and warnings, or a module that imports these Perl::Critic::Policy::Freenode::Threads Interpreter-based threads are officially discouraged Perl::Critic::Policy::Freenode::Wantarray Don't write context-sensitive functions using wantarray() Perl::Critic::Policy::Freenode::WarningsSwitch Scripts should not use the -w switch on the shebang line Perl::Critic::Policy::Freenode::WhileDiamondDefaultAssignment Don't use while with implicit assignment to $_ CONFIGURATION AND ENVIRONMENT All policies included are in the "freenode" 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. SEE ALSO Perl::Critic