The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.033 - 2020-12-21

  • Update various recommendations for alternatives in DiscouragedModules policy
  • Add better examples for EmptyReturn (#39) and Each policies


Perl::Critic policies inspired by #perl on freenode IRC
Utility functions for the Freenode policy set
Don't use & to call subroutines
Don't assign an anonymous arrayref to an array
Don't use bareword filehandles other than built-ins
Don't declare variables conditionally
Don't end a subroutine with a conditional block
Avoid features that have been deprecated or removed from Perl
Various modules discouraged from use
Don't use $a or $b as variable names outside sort
Don't use each to iterate through a hash
Don't use return with no arguments
Don't use undeclared foreach loop iterators
Don't use mod_perl to write web applications
Don't use multidimensional array emulation
Always use the three-argument form of open
Don't use overload without specifying a bool overload and enabling fallback
Don't use POSIX without specifying an import list
Module files should declare a package matching the filename
Various modules with preferred alternatives
Don't use function prototypes
Always use strict and warnings, or a module that imports these
Interpreter-based threads are officially discouraged
Don't write context-sensitive functions using wantarray
Scripts should not use the -w switch on the shebang line
Don't use while with implicit assignment to $_