############################################################################## # This file is an example of a Perl::Critic configuration file. This # file is usually called ".perlcriticrc" and is usually located in # your home directory or the working directory of your project. # However, you can use the -profile option to tell Perl::Critic use a # different file in another location. # # The area before any of the [Perl::Critic::Policy] sections is used # to set default values for the arguments to the Perl::Critic engine. # If you are using the "perlcritic" program, you can override these # settings at the command-line. Or if you are using the Perl::Critic # library, your API arguments will override these settings as well. #----------------------------------------------------------------------------- # exclude: Directs Perl::Critic to never apply Policies with names that # match one of the patterns. To specify multiple patterns, separate them # with whitespace. Do not put quotes around anything. exclude = Documentation Naming #----------------------------------------------------------------------------- # include: Directs Perl::Critic to always apply Policies with names that # match one of the patterns. To specify multiple patterns, separate them # with whitespace. Do not put quotes around anything. include = CodeLayout Modules #----------------------------------------------------------------------------- # force: Directs Perl::Critic to ignore the special "##no critic" # comments embedded in the source code. The default is 0. If # defined, this should be either 1 or 0. force = 1 #----------------------------------------------------------------------------- # only: Directs Perl::Critic to only choose from Policies that are # explicitly mentioned in this file. Otherwise, Perl::Critic chooses # from all the Perl::Critic::Policy classes that are found on the # local machine. The default is 0. If defined, this should be either # 1 or 0. only = 1 #----------------------------------------------------------------------------- # severity: Sets the default minimum severity level for Policies. The # default is 5. If defined, this should be an integer from 1 to 5, # where 5 is the highest severity. severity = 3 #----------------------------------------------------------------------------- # theme: Sets the default theme. Only Policies that fit into this # them shall be applied. If defined, this should be a valid theme # expression. See the Perl::Critic POD for more details about this. theme = danger + risky - pbp #----------------------------------------------------------------------------- # top: Directs Perl::Critic to only report the top N Policy violations, # as ranked by their individual severity. If defined, this should be # a positive integer. top = 50 #----------------------------------------------------------------------------- # verbose: Sets the format for printing Policy violations. If # defined, this should be either a format spcecification, or a numeric # verbosity level. See the Perl::Critic POD for more details. verbose = 5 ############################################################################## # The rest of the file consists of several named blocks that contain # configuration parameters for each of the Policies. The names of # each blocks correspond to the names of the Policy modules. For # brevity, the "Perl::Critic::Policy" portion of the name can be # omitted. See the POD for the appropriate Policy for a complete # description of the configuration parameters that it supports. #----------------------------------------------------------------------------- # If you vehmently disagree with a particular Policy, putting a "-" in # front of the Policy name will effectively disables that Policy. It # will never be applied unless you use the "-include" option to apply # it explicitly. [-NamingConventions::ProhibitMixedCaseVars] [-NamingConventions::ProhibitMixedCaseSubs] [-TestingAndDebugging::RequireUseWarnings] #----------------------------------------------------------------------------- # If you agree with a Policy, but feel that it's severity level is not # appropriate, then you can change the severity for any Policy. If # defined this should be an integer from 1 to 5, where 5 is the # highest severity. [BuiltinFunctions::RequireBlockGrep] severity = 2 [CodeLayout::ProhibitHardTabs] severity = 1 [ClassHierarchies::ProhibitAutoloading] severity = 5 #----------------------------------------------------------------------------- # Policies are also organized into themes. Themes are just names for # arbitrary groups of Policies. You can define new themes and add # them to any Policy. If defined, this should be a string of # whitespace-delimited words. [RegularExpressions::RequireExtendedFormatting] add_themes = client_foo severity = 3 [RegularExpressions::RequireExtendedFormatting] add_themes = client_foo client_bar severity = 3 #----------------------------------------------------------------------------- # Some Policies also have specialized configuration parameters. In # all cases, these are repsented as simple name=value pairs. See the # POD for the appropriate Policy for a complete discussion of its # configuration parameters. [ControlStructures::ProhibitPostfixControls] allow = for if severity = 4 [Documentation::RequirePodSections] lib_sections = NAME | SYNOPSIS | METHODS | AUTHOR add_themes = my_favorites severity = 4 #----------------------------------------------------------------------------- # If you set the "only" flag, then Perl::Critic only chooses from # Policies that are mentioned in your configuration file. This is # helpful when you want to use only a very small subset of the # Policies. So just create blocks for any other Policies that you # want to use. [ValuesAndExpressions::ProhibitInterpolationOfLiterals] [ValuesAndExpressions::ProhibitLeadingZeros] [InputOutput::ProhibitBarewordFileHandles] [Miscellanea::ProhibitTies]