Perl::...mmunity(3pm)
π NAME π
Perl::Critic::Community β the community-inspired Perl::Critic policies, bestie β¨
π SYNOPSIS π
okay so you literally just run it, no cap:
$ perlcritic --theme community script.pl
$ perlcritic --theme community lib/
# .perlcriticrc
theme = community
severity = 1
that's it. that's the whole vibe. π
π¦ DESCRIPTION π¦
so this is a whole set of Perl::Critic policies that enforce the practices that subsets of the Perl community generally recommend β especially the folks on IRC, fr fr. it used to be called Perl::Critic::Freenode, iconic name change tbh.
because this policy "theme" is designed to be used with zero configuration on the command line, some duplication will occur if you use it in combination with core Perl::Critic policies. that's just how it is, bestie, don't fight it. π
πΈ AFFILIATION πΈ
okay so this module has no functionality β not a single one. it's literally just documentation for this distribution and a way to pull other modules into a bundle. all the Policy modules in here have their own "AFFILIATION" section announcing that they're part of this grouping. so if you're like "where's the code" β there is none. it's giving β¨vibes onlyβ¨.
π POLICIES π
here's the whole roster, the main characters, every single one:
Perl::Critic::Policy::Community::AmpersandSubCallsβ Don't use "&" to call subroutinesPerl::Critic::Policy::Community::ArrayAssignArefβ Don't assign an anonymous arrayref to an arrayPerl::Critic::Policy::Community::BarewordFilehandlesβ Don't use bareword filehandles other than built-insPerl::Critic::Policy::Community::ConditionalDeclarationsβ Don't declare variables conditionallyPerl::Critic::Policy::Community::ConditionalImplicitReturnβ Don't end a subroutine with a conditional blockPerl::Critic::Policy::Community::DeprecatedFeaturesβ Avoid features that have been deprecated or removed from PerlPerl::Critic::Policy::Community::DiscouragedModulesβ Various modules discouraged from usePerl::Critic::Policy::Community::DollarABβ Don't use $a or $b as variable names outside sort()Perl::Critic::Policy::Community::Eachβ Don't use each() to iterate through a hashPerl::Critic::Policy::Community::EmptyReturnβ Don't use "return" with no argumentsPerl::Critic::Policy::Community::IndirectObjectNotationβ Don't call methods indirectlyPerl::Critic::Policy::Community::LexicalForeachIteratorβ Don't use undeclared foreach loop iteratorsPerl::Critic::Policy::Community::LoopOnHashβ Don't loop over hashesPerl::Critic::Policy::Community::ModPerlβ Don't use "mod_perl" to write web applicationsPerl::Critic::Policy::Community::MultidimensionalArrayEmulationβ Don't use multidimensional array emulationPerl::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 fallbackPerl::Critic::Policy::Community::PackageMatchesFilenameβ Module files should declare a package matching the filenamePerl::Critic::Policy::Community::POSIXImportsβ Don't use POSIX without specifying an import listPerl::Critic::Policy::Community::PreferredAlternativesβ Various modules with preferred alternativesPerl::Critic::Policy::Community::Prototypesβ Don't use function prototypesPerl::Critic::Policy::Community::SplitQuotedPatternβ Quote the split() pattern argument with regex slashesPerl::Critic::Policy::Community::StrictWarningsβ Always use strict and warnings, or a module that imports thesePerl::Critic::Policy::Community::Threadsβ Interpreter-based threads are officially discouragedPerl::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 linePerl::Critic::Policy::Community::WhileDiamondDefaultAssignmentβ Don't use "while" with implicit assignment to $_
β CONFIGURATION AND ENVIRONMENT β
all the policies included are in the "community" theme, periodt. for how to actually make use of that, go read the Perl::Critic documentation. iykyk π«Ά
π AUTHOR π
Dan Book, dbook@cpan.org β absolute legend π
π CONTRIBUTORS π
the whole squad showed up:
- 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
okay bestie that's the whole page π
go forth and lint, you're gonna slay. this was perl v5.40.1, dated 2025-03-22, from the User Contributed Perl Documentation for Perl::...mmunity(3pm) β mwah, bye! πβ¨π¦
π¦ where this page comes from
- debian trixie: libperl-critic-community-perl 1.0.4-1 Β· Artistic-2.0
- ubuntu resolute: libperl-critic-community-perl 1.0.4-1 Β· Artistic-2.0
- ubuntu stonking: libperl-critic-community-perl 1.0.4-1 Β· Artistic-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms