severity = 1
verbose = 1

[-InputOutput::ProhibitInteractiveTest]
# we don't want to depend on IO::Interactive, and -t is good enough for our purposes

[-InputOutput::ProhibitExplicitStdin]
# we never want to iterate over @ARGV implicitly
# see also https://github.com/Perl-Critic/Perl-Critic/issues/72

[InputOutput::RequireBriefOpen]
lines = 20

[-InputOutput::RequireCheckedOpen]
[-InputOutput::RequireCheckedClose]
# already covered by RequireCheckedSyscalls

[-RegularExpressions::RequireExtendedFormatting]
# no, thanks

[-RegularExpressions::RequireDotMatchAnything]
[-RegularExpressions::RequireLineBoundaryMatching]
# we work mostly with single-line strings
# reconsider when https://github.com/Perl-Critic/Perl-Critic/issues/551 is fixed

[-RegularExpressions::ProhibitEnumeratedClasses]
# we work mostly with ASCII

[-ErrorHandling::RequireCarping]
# die is good enough for our purposes

[-Variables::ProhibitPackageVars]
# no, thanks

[-ValuesAndExpressions::ProhibitVersionStrings]
# we don't care about Perl << 5.6, which doesn't support version strings

[-ValuesAndExpressions::ProhibitMagicNumbers]
# no, thanks

[-ValuesAndExpressions::ProhibitNoisyQuotes]
[-ValuesAndExpressions::ProhibitEmptyQuotes]
# no, thanks

[-CodeLayout::ProhibitParensWithBuiltins]
# no, thanks

[-CodeLayout::RequireTrailingCommas]
# no, thanks

[-BuiltinFunctions::ProhibitBooleanGrep]
# we don't want to depend on List::MoreUtils

[NamingConventions::Capitalization]
labels = :all_lower
file_lexical_variable_exemptions = ARGV_[[:lower:]]+
subroutine_exemptions = Tags

[ControlStructures::ProhibitPostfixControls]
flowcontrol = die error

# vim:ft=dosini
