severity = 1
verbose = %f:%l: [%p] %m\n

[-CodeLayout::ProhibitParensWithBuiltins]
# no, thanks

[-CodeLayout::RequireTidyCode]
# perltidy is too limited for our purposes

[ControlStructures::ProhibitCascadingIfElse]
max_elsif = 5

[-Documentation::PodSpelling]
# Pod::Spell can misparse mbank-cli code

[-Documentation::RequirePodSections]
# our POD contains only comments

[-InputOutput::ProhibitExplicitStdin]
# no, thanks

[-InputOutput::ProhibitInteractiveTest]
# -t is good enough

[InputOutput::RequireCheckedSyscalls]
functions = :builtins
# print failures are caught at the END
# umask() can only fail if umask(2) is not implemented
exclude_functions = print say umask

[-Modules::RequireVersionVar]
# all our modules are private
# see also https://bugs.debian.org/706266

[RegularExpressions::ProhibitCaptureWithoutTest]
exception_source = scraping_error

[RegularExpressions::ProhibitComplexRegexes]
max_characters = 100

[-RegularExpressions::RequireDotMatchAnything]
[-RegularExpressions::RequireExtendedFormatting]
[-RegularExpressions::RequireLineBoundaryMatching]
# no, thanks

[Subroutines::ProhibitExcessComplexity]
max_mccabe = 25

[-ValuesAndExpressions::ProhibitEmptyQuotes]
# no, thanks

[-ValuesAndExpressions::ProhibitEscapedCharacters]
# no, thanks

[-ValuesAndExpressions::ProhibitMagicNumbers]
# no, thanks

[-ValuesAndExpressions::ProhibitNoisyQuotes]
# no, thanks

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

[Variables::ProhibitPackageVars]
add_packages = Carp

# vim:ft=dosini
