The Perl Advent Calendar needs more articles for 2022. Submit your idea today!


Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma - Don't use constant FOO => 15.


This Policy is part of the core Perl::Critic distribution.


Named constants are a good thing. But don't use the constant pragma because barewords don't interpolate. Instead use the Readonly module.

  use constant FOOBAR => 42;  #not ok

  use Readonly;
  Readonly my $FOOBAR => 42;  #ok
  Readonly::Scalar my $FOOBAR => 42;  #ok


This Policy is not configurable except for the standard options.


Jeffrey Ryan Thalhammer <>


Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.