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 outsidesort()
- 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::LoopOnHash
-
Don't loop over hashes
- Perl::Critic::Policy::Freenode::ModPerl
-
Don't use
mod_perl
to write web applications - 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.