Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings - Prohibit various flavors of no warnings.


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


There are good reasons for disabling certain kinds of warnings. But if you were wise enough to use warnings in the first place, then it doesn't make sense to disable them completely. By default, any no warnings statement will violate this policy. However, you can configure this Policy to allow certain types of warnings to be disabled (See "CONFIGURATION"). A bare no warnings statement will always raise a violation.


The permitted warning types can be configured via the allow option. The value is a list of whitespace-delimited warning types that you want to be able to disable. See perllexwarn for a list of possible warning types. An example of this customization:

    allow = uninitialized once

If a true value is specified for the allow_with_category_restriction option, then any no warnings that restricts the set of warnings that are turned off will pass.

    allow_with_category_restriction = 1




Jeffrey Ryan Thalhammer <>


Copyright (c) 2005-2021 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