Skip to end of metadata
Go to start of metadata


- collection of Perl::Critic policies developed and maintained by logicLAB

Latest Blog Posts

Blog Posts


Perl::Critic::logicLAB is not following the conventional way of distributing policies (See: Motivation). For now this is an experiment. So the actual implementation might change at later time.

The distribution is actually just a Bundle/Task, so it contains no code and no actual policies, please refer to the policies listed below for documentation on the actual policies.

Implemented Policies

Candidates for Inclusion

Ideas for Policies



Perl::Critic is one of the really good Perl tools. One you should have in your toolbox. One of the major forces is the plug-ability. You can use other people's policies or you can write your own.

I have over time had several ideas for policies, some are still on the drawing board and others have been implemented.

The concept policies is that they will come and go, a policy you use one day, you disable the other and vice-versa. Perl::Critic's versatile nature supports how you evolve as a Perl programmer and how your code base, team and organization evolves.

So Perl::Critic::logicLAB is not a distribution of policies, it is more of a meta-package, defining references to policies currently developed and maintained by logicLAB.

This is not the recommended way of doing things, but it does offer the following benefits:

  1. I can release the policies separately
  2. I can release policies without listing them in Perl::Critic::logicLAB until I am certain of their value and correctness
  3. Other people can write meta-packages, listing there policies on a policy by policy level, using the same schema

The only issue speaking against it, is the case of adding a brand new policy requires two releases. One of the policy distribution and one of Perl::Critic::Policy bundling the policy, but the it seems to be pretty outweighed by the positive aspects of using the meta approach using the Task scheme.