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
   <https://freenode.net/>. 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, [email protected]

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