--- /dev/null
+##############################################################################
+# 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]
+
+