++ed by:
Andy Lester


Perl::Critic::Bangs - A collection of handy Perl::Critic policies


Version 1.10


Perl::Critic::Bangs is a collection of Perl::Critic policies that will help make your code better.


The rules included with the Perl::Critic::Bangs group include:


Commented-out code is usually noise. It should be removed.


Watch for comments like "XXX", "TODO", etc.


Tests should have a plan.


Variables like $user and $user2 are insufficiently distinguished.


Determining the class in a constructor by using ref($proto) || $proto is usually a cut-n-paste that is incorrect.


Adding modifiers to a regular expression made up entirely of a variable created with qr() is usually not doing what you expect.


Vague variables like $data or $info are not descriptive enough.

WHY IS IT CALLED Perl::Critic::Bangs?

I didn't want to call it "Perl::Critic::Lester" or "Perl::Critic::Petdance" that would make it sound like they were only my rules. Other people will likely include their own set of rules, too.

So I started thinking of names of famous critics. Ebert, Siskel, Kael, etc. What about music critics? Greil Marcus, J.D. Considine... Lester Bangs! He's even got my name in his! So there was the name.

See http://en.wikipedia.org/wiki/Lester_Bangs for more on Lester Bangs.


Andy Lester, <andy at petdance.com>


Please report any bugs or feature requests to bug-perl-critic-bangs at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Perl-Critic-Bangs. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc Perl::Critic::Bangs

You can also look for information at:


Thanks to

  • Andy Moore for helping me get this off the ground.

  • Oystein Torget for bug reports and patches.

  • Mike O'Regan for ProhibitBitwiseOperators.

  • Elliot Shank and the rest of the Perl::Critic team for ongoing support.


Copyright 2006-2011 Andy Lester.

This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.

Hosting generously
sponsored by Bytemark