# Set severity to 'gentle' and then try stern. If we achieve 'harsh' the code is good enough.
#5:gentle;4:stern;3:harsh
severity  = harsh
#only      = 1
#force     = 1
#verbose   = 11
top       = 50
#theme     = (pbp and security and bugs and maintenance and complexity and security)
#include   = NamingConventions ClassHierarchies
#exclude   = Variables  Modules::RequirePackage
#criticism-fatal = 1
#color     = 1
#allow-unsafe = 0
pager     = less

# Perl::Critic::Policy::Subroutines::RequireArgUnpacking - Always unpack @_ first.
[Subroutines::RequireArgUnpacking]
short_subroutine_statements = 4

[Variables::ProhibitPackageVars]
add_packages = Carp

# Shorten allowed lenght of regexp for more readability.
[RegularExpressions::ProhibitComplexRegexes]
max_characters = 40

[RegularExpressions::RequireExtendedFormatting]
minimum_regex_length_to_complain_about = 30

# Temporarily disable check for prototypes, because signatures are recognisided
# as prototypes. See https://github.com/adamkennedy/PPI/issues/194
# Enable again when the above bug is fixed.
[-Subroutines::ProhibitSubroutinePrototypes]

# Strangely enough, 4 arguments (including $self) in signature are counted as 6
[-Subroutines::ProhibitManyArgs]

# This policy does not work well with methods and private methods via 'my'
[-Subroutines::ProhibitBuiltinHomonyms]