CPAN
Home  Documentation  Recent  Preferences  Modules  Distributions    Authors   
Find    in      

Modules     > >     P     > >     Perl
Perl::AfterFork
reinitializes Perl's notion of $$ and getppid()
Perl::APIReference
Programmatically query the perlapi
Perl::APIReference::Generator
Generate an APIReference from a perlapi.pod
Perl::APIReference::V5_006_000
Perl::APIReference::V5_006_001
Perl::APIReference::V5_006_002
Perl::APIReference::V5_008_000
Perl::APIReference::V5_008_001
Perl::APIReference::V5_008_002
Perl::APIReference::V5_008_003
Perl::APIReference::V5_008_004
Perl::APIReference::V5_008_005
Perl::APIReference::V5_008_006
Perl::APIReference::V5_008_007
Perl::APIReference::V5_008_008
Perl::APIReference::V5_008_009
Perl::APIReference::V5_010_000
Perl::APIReference::V5_010_001
Perl::APIReference::V5_012_000
Perl::APIReference::V5_012_001
Perl::APIReference::V5_012_002
Perl::APIReference::V5_012_003
Perl::APIReference::V5_013_010
Perl::APIReference::V5_014_000
Perl::AtEndOfScope
run some code when a variable goes out of scope
Perl::Command
return an ARGV for running this perl
Perl::Compare
Normalized Comparison for Perl Source Trees
Perl::Configure
Answer perl's ./Configure questions reproducibly
Perl::Configure::Questions
Questions asked by perl's Configure
Perl::Critic
Critique Perl source code for best-practices.
Perl::Critic::Annotation
A "## no critic" annotation in a document.
Perl::Critic::Bangs
A collection of handy Perl::Critic policies
Perl::Critic::Command
Guts of L<perlcritic|perlcritic>.
Perl::Critic::Compatibility
Policies for Perl::Critic concerned with compatibility with various versions of Perl.
Perl::Critic::Config
The final derived Perl::Critic configuration, combined from any profile file and command-line parameters.
Perl::Critic::Deprecated
Policies that were formally included with Perl::Critic itself, but which have been superseded by others.
Perl::Critic::Document
Caching wrapper around a PPI::Document.
Perl::Critic::Dynamic
Non-static policies for Perl::Critic
Perl::Critic::DynamicPolicy
Base class for dynamic Policies
Perl::Critic::Exception
A problem identified by L<Perl::Critic|Perl::Critic>.
Perl::Critic::Exception::AggregateConfiguration
A collection of a set of problems found in the configuration and/or command-line options.
Perl::Critic::Exception::Configuration
A problem with L<Perl::Critic|Perl::Critic> configuration.
Perl::Critic::Exception::Configuration::Generic
A problem with L<Perl::Critic|Perl::Critic> configuration that doesn't involve an option.
Perl::Critic::Exception::Configuration::NonExistentPolicy
The configuration referred to a non-existent policy.
Perl::Critic::Exception::Configuration::Option
A problem with an option in the L<Perl::Critic|Perl::Critic> configuration.
Perl::Critic::Exception::Configuration::Option::Global
A problem with L<Perl::Critic|Perl::Critic> global configuration.
Perl::Critic::Exception::Configuration::Option::Global::ExtraParameter
The configuration referred to a non-existent global option.
Perl::Critic::Exception::Configuration::Option::Global::ParameterValue
A problem with the value of a global parameter.
Perl::Critic::Exception::Configuration::Option::Policy
A problem with configuration of a policy.
Perl::Critic::Exception::Configuration::Option::Policy::ExtraParameter
The configuration referred to a non-existent parameter for a policy.
Perl::Critic::Exception::Configuration::Option::Policy::ParameterValue
A problem with the value of a parameter for a policy.
Perl::Critic::Exception::Fatal
A problem that should cause L<Perl::Critic|Perl::Critic> to stop running.
Perl::Critic::Exception::Fatal::Generic
A problem for which there is no specialized information.
Perl::Critic::Exception::Fatal::Internal
A problem with the L<Perl::Critic|Perl::Critic> implementation, i.e. a bug.
Perl::Critic::Exception::Fatal::PolicyDefinition
A bug in a policy.
Perl::Critic::Exception::IO
A problem with input or output.
Perl::Critic::Exception::Parse
The code doesn't look like code.
Perl::Critic::Itch
Yet Another rule Policy for Perl::Critic
Perl::Critic::Lax
policies that let you slide on common exceptions
Perl::Critic::logicLAB
a set of Perl::Critic policies implemented and used by logicLAB
Perl::Critic::More
Supplemental policies for Perl::Critic
Perl::Critic::Nits
policies of nits I like to pick.
Perl::Critic::OptionsProcessor
The global configuration default values, combined with command-line values.
Perl::Critic::OTRS
A collection of handy Perl::Critic policies
Perl::Critic::PetPeeves::JTRAMMELL
policies to prohibit/require my pet peeves
Perl::Critic::PodParser::ProhibitVerbatimMarkup
Perl::Critic::Policy
Base class for all Policy modules.
Perl::Critic::Policy::Bangs::ProhibitBitwiseOperators
Bitwise operators are usually accidentally used instead of logical boolean operators.
Perl::Critic::Policy::Bangs::ProhibitCommentedOutCode
Commented-out code is usually noise. It should be removed.
Perl::Critic::Policy::Bangs::ProhibitFlagComments
Don't use XXX, TODO, or FIXME.
Perl::Critic::Policy::Bangs::ProhibitNoPlan
Know what you're going to test.
Perl::Critic::Policy::Bangs::ProhibitNumberedNames
Prohibit variables differentiated by trailing numbers.
Perl::Critic::Policy::Bangs::ProhibitRefProtoOrProto
Create a C<clone()> method if you need copies of objects.
Perl::Critic::Policy::Bangs::ProhibitUselessRegexModifiers
Adding modifiers to a regular expression made up entirely of a variable created with qr() is usually not doing what you expect.
Perl::Critic::Policy::Bangs::ProhibitVagueNames
Don't use generic variable names.
Perl::Critic::Policy::BuiltinFunctions::ProhibitBooleanGrep
Use C<List::MoreUtils::any> instead of C<grep> in boolean context.
Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings
Map blocks should have a single statement.
Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr
Use 4-argument C<substr> instead of writing C<substr($foo, 2, 6) = $bar>.
Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock
Forbid $b before $a in sort blocks.
Perl::Critic::Policy::BuiltinFunctions::ProhibitSleepViaSelect
Use L<Time::HiRes|Time::HiRes> instead of something like C<select(undef, undef, undef, .05)>.
Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval
Write C<eval { my $foo; bar($foo) }> instead of C<eval "my $foo; bar($foo);">.
Perl::Critic::Policy::BuiltinFunctions::ProhibitStringySplit
Write C<split /-/, $string> instead of C<split '-', $string>.
Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalCan
Write C<< eval { $foo->can($name) } >> instead of C<UNIVERSAL::can($foo, $name)>.
Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalIsa
Write C<< eval { $foo->isa($pkg) } >> instead of C<UNIVERSAL::isa($foo, $pkg)>.
Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep
Don't use C<grep> in void contexts.
Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap
Don't use C<map> in void contexts.
Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep
Write C<grep { $_ =~ /$pattern/ } @list> instead of C<grep /$pattern/, @list>.
Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap
Write C<map { $_ =~ /$pattern/ } @list> instead of C<map /$pattern/, @list>.
Perl::Critic::Policy::BuiltinFunctions::RequireGlobFunction
Use C<glob q{*}> instead of <*>.
Perl::Critic::Policy::BuiltinFunctions::RequireSimpleSortBlock
Sort blocks should have a single statement.
Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading
AUTOLOAD methods should be avoided.
Perl::Critic::Policy::ClassHierarchies::ProhibitExplicitISA
Employ C<use base> instead of C<@ISA>.
Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless
Write C<bless {}, $class;> instead of just C<bless {};>.
Perl::Critic::Policy::CodeLayout::ProhibitHardTabs
Use spaces instead of tabs.
Perl::Critic::Policy::CodeLayout::ProhibitHashBarewords
Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins
Write C<open $handle, $path> instead of C<open($handle, $path)>.
Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists
Write C<qw(foo bar baz)> instead of C<('foo', 'bar', 'baz')>.
Perl::Critic::Policy::CodeLayout::ProhibitTrailingWhitespace
Don't use whitespace at the end of lines.
Perl::Critic::Policy::CodeLayout::RequireASCII
Disallow high-bit characters.
Perl::Critic::Policy::CodeLayout::RequireConsistentNewlines
Use the same newline through the source.
Perl::Critic::Policy::CodeLayout::RequireFinalSemicolon
require a semicolon at the end of code blocks
Perl::Critic::Policy::CodeLayout::RequireTidyCode
Must run code through L<perltidy|perltidy>.
Perl::Critic::Policy::CodeLayout::RequireTrailingCommaAtNewline
comma at end of list at newline
Perl::Critic::Policy::CodeLayout::RequireTrailingCommas
Put a comma at the end of every multi-line list declaration, including the last one.
Perl::Critic::Policy::CodeLayout::RequireUseUTF8
Require that all modules have a C<use utf8;> statement.
Perl::Critic::Policy::Compatibility::ConstantLeadingUnderscore
new enough "constant" module for leading underscores
Perl::Critic::Policy::Compatibility::ConstantPragmaHash
new enough "constant" module for multiple constants
Perl::Critic::Policy::Compatibility::Gtk2Constants
new enough Gtk2 version for its constants
Perl::Critic::Policy::Compatibility::PerlMinimumVersionAndWhy
explicit Perl version for features used
Perl::Critic::Policy::Compatibility::PodMinimumVersion
check Perl version declared against POD features used
Perl::Critic::Policy::Compatibility::ProhibitThreeArgumentOpen
Don't allow three-argument open unless the code uses a version of perl that supports it.
Perl::Critic::Policy::Compatibility::ProhibitUnixDevNull
don't use explicit /dev/null
Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse
Don't write long "if-elsif-elsif-elsif-elsif...else" chains.
Perl::Critic::Policy::ControlStructures::ProhibitCStyleForLoops
Write C<for(0..20)> instead of C<for($i=0; $i<=20; $i++)>.
Perl::Critic::Policy::ControlStructures::ProhibitDeepNests
Don't write deeply nested loops and conditionals.
Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames
Don't use labels that are the same as the special block names.
Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions
Don't modify C<$_> in list functions.
Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions
Don't use operators like C<not>, C<!~>, and C<le> within C<until> and C<unless>.
Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls
Write C<if($condition){ do_something() }> instead of C<do_something() if $condition>.
Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks
Write C<if(! $condition)> instead of C<unless($condition)>.
Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode
Don't write code after an unconditional C<die, exit, or next>.
Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks
Write C<while(! $condition)> instead of C<until($condition)>.
Perl::Critic::Policy::Documentation::PodSpelling
Check your spelling.
Perl::Critic::Policy::Documentation::ProhibitAdjacentLinks
consecutive LE<lt>E<gt> links
Perl::Critic::Policy::Documentation::ProhibitBadAproposMarkup
don't use CE<lt>E<gt> markup in a NAME section
Perl::Critic::Policy::Documentation::ProhibitParagraphTwoDots
don't end a paragraph with two dots
Perl::Critic::Policy::Documentation::ProhibitUnbalancedParens
don't leave an open bracket or paren
Perl::Critic::Policy::Documentation::ProhibitVerbatimMarkup
unexpanded CE<lt>E<gt> etc markup in POD verbatim paras
Perl::Critic::Policy::Documentation::RequireEndBeforeLastPod
require __END__ before POD at end of file
Perl::Critic::Policy::Documentation::RequireLinkedURLs
use LE<lt>E<gt> markup on URLs in POD
Perl::Critic::Policy::Documentation::RequirePackageMatchesPodName
The C<=head1 NAME> section should match the package.
Perl::Critic::Policy::Documentation::RequirePodAtEnd
All POD should be after C<__END__>.
Perl::Critic::Policy::Documentation::RequirePodLinksIncludeText
Perl::Critic::Policy::Documentation::RequirePodSections
Organize your POD into the customary sections.
Perl::Critic::Policy::Documentation::RequirePODUseEncodingUTF8
Require that all modules that contain POD have a C<=encoding utf8> declaration.
Perl::Critic::Policy::Dynamic::NoIndirect
Perl::Critic policy against indirect method calls.
Perl::Critic::Policy::Dynamic::ValidateAgainstSymbolTable
Perl::Critic::Policy::Editor::RequireEmacsFileVariables
Per-file editor settings.
Perl::Critic::Policy::ErrorHandling::RequireCarping
Use functions from L<Carp|Carp> instead of C<warn> or C<die>.
Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval
You can't depend upon the value of C<$@>/C<$EVAL_ERROR> to tell whether an C<eval> failed.
Perl::Critic::Policy::ErrorHandling::RequireUseOfExceptions
Use exceptions instead of C<die>, C<croak>, or C<confess>.
Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators
Discourage stuff like C<@files = `ls $directory`>.
Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles
Write C<open my $fh, q{<}, $filename;> instead of C<open FH, q{<}, $filename;>.
Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin
Use "<>" or "<ARGV>" or a prompting module instead of "<STDIN>".
Perl::Critic::Policy::InputOutput::ProhibitInteractiveTest
Use prompt() instead of -t.
Perl::Critic::Policy::InputOutput::ProhibitJoinedReadline
Use C<local $/ = undef> or L<File::Slurp|File::Slurp> instead of joined readline.
Perl::Critic::Policy::InputOutput::ProhibitOneArgSelect
Never write C<select($fh)>.
Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop
Write C<< while( $line = <> ){...} >> instead of C<< for(<>){...} >>.
Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen
Write C<< open $fh, q{<}, $filename; >> instead of C<< open $fh, "<$filename"; >>.
Perl::Critic::Policy::InputOutput::RequireBracedFileHandleWithPrint
Write C<print {$FH} $foo, $bar;> instead of C<print $FH $foo, $bar;>.
Perl::Critic::Policy::InputOutput::RequireBriefOpen
Close filehandles as soon as possible after opening them.
Perl::Critic::Policy::InputOutput::RequireCheckedClose
Write C<< my $error = close $fh; >> instead of C<< close $fh; >>.
Perl::Critic::Policy::InputOutput::RequireCheckedOpen
Write C<< my $error = open $fh, $mode, $filename; >> instead of C<< open $fh, $mode, $filename; >>.
Perl::Critic::Policy::InputOutput::RequireCheckedSyscalls
Return value of flagged function ignored.
Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer
Write C<< open $fh, q{<:encoding(UTF-8)}, $filename; >> instead of C<< open $fh, q{{<:utf8}, $filename; >>.
Perl::Critic::Policy::Lax::ProhibitComplexMappings::LinesNotStatements
Perl::Critic::Policy::Lax::ProhibitEmptyQuotes::ExceptAsFallback
Perl::Critic::Policy::Lax::ProhibitLeadingZeros::ExceptChmod
Perl::Critic::Policy::Lax::ProhibitStringyEval::ExceptForRequire
Perl::Critic::Policy::Lax::RequireEndWithTrueConst
Perl::Critic::Policy::Lax::RequireExplicitPackage::ExceptForPragmata
Perl::Critic::Policy::logicLAB::ProhibitShellDispatch
simple policy prohibiting shell dispatching
Perl::Critic::Policy::logicLAB::ProhibitUseLib
simple policy prohibiting the use of 'use lib'
Perl::Critic::Policy::logicLAB::RequireSheBang
simple policy for keeping your shebang line uniform
Perl::Critic::Policy::logicLAB::RequireVersionFormat
Perl::Critic::Policy::Miscellanea::ProhibitFormats
Do not use C<format>.
Perl::Critic::Policy::Miscellanea::ProhibitTies
Do not use C<tie>.
Perl::Critic::Policy::Miscellanea::ProhibitUnrestrictedNoCritic
Forbid a bare C<## no critic>
Perl::Critic::Policy::Miscellanea::ProhibitUselessNoCritic
Remove ineffective "## no critic" annotations.
Perl::Critic::Policy::Miscellanea::RequireRcsKeywords
Put source-control keywords in every file.
Perl::Critic::Policy::Miscellanea::TextDomainPlaceholders
check placeholder names in Locale::TextDomain calls
Perl::Critic::Policy::Miscellanea::TextDomainUnused
check for Locale::TextDomain imported but unused
Perl::Critic::Policy::Modules::PerlMinimumVersion
Enforce backward compatible code.
Perl::Critic::Policy::Modules::ProhibitAutomaticExportation
Export symbols via C<@EXPORT_OK> or C<%EXPORT_TAGS> instead of C<@EXPORT>.
Perl::Critic::Policy::Modules::ProhibitConditionalUseStatements
Avoid putting conditional logic around compile-time includes.
Perl::Critic::Policy::Modules::ProhibitEvilModules
Ban modules that aren't blessed by your shop.
Perl::Critic::Policy::Modules::ProhibitExcessMainComplexity
Minimize complexity in code that is B<outside> of subroutines.
Perl::Critic::Policy::Modules::ProhibitModuleShebang
don't put a #! line at the start of a module file
Perl::Critic::Policy::Modules::ProhibitMultiplePackages
Put packages (especially subclasses) in separate files.
Perl::Critic::Policy::Modules::ProhibitPOSIXimport
don't import the whole of POSIX into a module
Perl::Critic::Policy::Modules::ProhibitUseQuotedVersion
avoid quoted version number string in a "use" statement
Perl::Critic::Policy::Modules::RequireBarewordIncludes
Write C<require Module> instead of C<require 'Module.pm'>.
Perl::Critic::Policy::Modules::RequireEndWithOne
End each module with an explicitly C<1;> instead of some funky expression.
Perl::Critic::Policy::Modules::RequireExplicitInclusion
Perl::Critic::Policy::Modules::RequireExplicitPackage
Always make the C<package> explicit.
Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage
Package declaration must match filename.
Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish
C<use English> must be passed a C<-no_match_vars> argument.
Perl::Critic::Policy::Modules::RequirePerlVersion
Require a C<use 5.006;> or similar.
Perl::Critic::Policy::Modules::RequireVersionVar
Give every module a C<$VERSION> number.
Perl::Critic::Policy::NamingConventions::Capitalization
Distinguish different program components by case.
Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames
Don't use vague variable or subroutine names like 'last' or 'record'.
Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs
Write C<sub my_function{}> instead of C<sub MyFunction{}>.
Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseVars
Write C<$my_variable = 42> instead of C<$MyVariable = 42>.
Perl::Critic::Policy::Objects::ProhibitIndirectSyntax
Prohibit indirect object call syntax.
Perl::Critic::Policy::OTRS::ProhibitDumper
Perl::Critic::Policy::OTRS::ProhibitFetchrowHashref
Perl::Critic::Policy::OTRS::ProhibitLocaltime
Perl::Critic::Policy::OTRS::ProhibitLowPrecendeceOps
Perl::Critic::Policy::OTRS::ProhibitOpen
Perl::Critic::Policy::OTRS::ProhibitRequire
Perl::Critic::Policy::OTRS::ProhibitSomeCoreFunctions
Perl::Critic::Policy::OTRS::RequireCamelCase
Perl::Critic::Policy::OTRS::RequireParensWithMethods
Perl::Critic::Policy::OTRS::RequireTrueReturnValueForModules
Perl::Critic::Policy::References::ProhibitDoubleSigils
Write C<@{ $array_ref }> instead of C<@$array_ref>.
Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest
Capture variable used outside conditional.
Perl::Critic::Policy::RegularExpressions::ProhibitComplexRegexes
Split long regexps into smaller C<qr//> chunks.
Perl::Critic::Policy::RegularExpressions::ProhibitEnumeratedClasses
Use named character classes instead of explicit character lists.
Perl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters
Use character classes for literal meta-characters instead of escapes.
Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches
Use C<eq> or hash instead of fixed-pattern regexps.
Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation
Use C<[abc]> instead of C<a|b|c>.
Perl::Critic::Policy::RegularExpressions::ProhibitUnusedCapture
Only use a capturing group if you plan to use the captured value.
Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters
Use only C<//> or C<{}> to delimit regexps.
Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline
Use C<{> and C<}> to delimit multi-line regexps.
Perl::Critic::Policy::RegularExpressions::RequireDotMatchAnything
Always use the C</s> modifier with regular expressions.
Perl::Critic::Policy::RegularExpressions::RequireExtendedFormatting
Always use the C</x> modifier with regular expressions.
Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching
Always use the C</m> modifier with regular expressions.
Perl::Critic::Policy::Storable::ProhibitStoreOrFreeze
do not use store or
Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils
Don't call functions with a leading ampersand sigil.
Perl::Critic::Policy::Subroutines::ProhibitBuiltinHomonyms
Don't declare your own C<open> function.
Perl::Critic::Policy::Subroutines::ProhibitCallsToUndeclaredSubs
Perl::Critic::Policy::Subroutines::ProhibitCallsToUnexportedSubs
Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity
Minimize complexity by factoring code into smaller subroutines.
Perl::Critic::Policy::Subroutines::ProhibitExplicitReturnUndef
Return failure with bare C<return> instead of C<return undef>.
Perl::Critic::Policy::Subroutines::ProhibitExportingUndeclaredSubs
Perl::Critic::Policy::Subroutines::ProhibitManyArgs
Too many arguments.
Perl::Critic::Policy::Subroutines::ProhibitNestedSubs
C<sub never { sub correct {} }>.
Perl::Critic::Policy::Subroutines::ProhibitQualifiedSubDeclarations
Perl::Critic::Policy::Subroutines::ProhibitReturnSort
Behavior of C<sort> is not defined if called in scalar context.
Perl::Critic::Policy::Subroutines::ProhibitSubroutinePrototypes
Don't write C<sub my_function (@@) {}>.
Perl::Critic::Policy::Subroutines::ProhibitUnusedPrivateSubroutines
Prevent unused private subroutines.
Perl::Critic::Policy::Subroutines::ProtectPrivateSubs
Prevent access to private subs in other packages.
Perl::Critic::Policy::Subroutines::RequireArgUnpacking
Always unpack C<@_> first.
Perl::Critic::Policy::Subroutines::RequireFinalReturn
End every path through a subroutine with an explicit C<return> statement.
Perl::Critic::Policy::TestingAndDebugging::ProhibitNoStrict
Prohibit various flavors of C<no strict>.
Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings
Prohibit various flavors of C<no warnings>.
Perl::Critic::Policy::TestingAndDebugging::ProhibitProlongedStrictureOverride
Don't turn off strict for large blocks of code.
Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels
Tests should all have labels.
Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict
Always C<use strict>.
Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings
Always C<use warnings>.
Perl::Critic::Policy::Tics::ProhibitLongLines
80 x 40 for life!
Perl::Critic::Policy::Tics::ProhibitManyArrows
(this => is => not => good)
Perl::Critic::Policy::Tics::ProhibitUseBase
do not use base.pm
Perl::Critic::Policy::ValuesAndExpressions::ConstantBeforeLt
disallow bareword before <
Perl::Critic::Policy::ValuesAndExpressions::NotWithCompare
logical not used with compare
Perl::Critic::Policy::ValuesAndExpressions::ProhibitAccessOfPrivateData
Perl::Critic::Policy::ValuesAndExpressions::ProhibitArrayAssignAref
don't assign an anonymous arrayref to an array
Perl::Critic::Policy::ValuesAndExpressions::ProhibitBarewordDoubleColon
don't use Foo:: style barewords
Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements
Don't use the comma operator as a statement separator.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitComplexVersion
Prohibit version values from outside the module.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma
Don't C<< use constant FOO => 15 >>.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyCommas
disallow empty consecutive commas
Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes
Write C<q{}> instead of C<''>.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitEscapedCharacters
Write C<"\N{DELETE}"> instead of C<"\x7F">, etc.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitFiletest_f
don't use the -f file test
Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines
Use concatenation or HEREDOCs instead of literal line breaks in strings.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals
Always use single quotes for literal strings.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitLeadingZeros
Write C<oct(755)> instead of C<0755>.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls
Long chains of method calls indicate tightly coupled code.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers
Don't use values that don't explain themselves.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators
Don't mix numeric operators with string operands, or vice-versa.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitMixedBooleanOperators
Write C< !$foo && $bar || $baz > instead of C< not $foo && $bar or $baz>.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitNoisyQuotes
Use C<q{}> or C<qq{}> instead of quotes for awkward-looking strings.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitNullStatements
disallow empty statements (stray semicolons)
Perl::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters
Don't use quotes (C<'>, C<">, C<`>) as delimiters for the quote-like operators.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator
Don't write C< print <<'__END__' >.
Perl::Critic::Policy::ValuesAndExpressions::ProhibitUnknownBackslash
don't use undefined backslash forms
Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings
Don't use strings like C<v1.4> or C<1.4.5> when including other modules.
Perl::Critic::Policy::ValuesAndExpressions::RequireConstantVersion
Require $VERSION to be a constant rather than a computed value.
Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars
Warns that you might have used single quotes when you really wanted double-quotes.
Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators
Write C< 141_234_397.0145 > instead of C< 141234397.0145 >.
Perl::Critic::Policy::ValuesAndExpressions::RequireNumericVersion
$VERSION a plain number
Perl::Critic::Policy::ValuesAndExpressions::RequireQuotedHeredocTerminator
Write C< print <<'THE_END' > or C< print <<"THE_END" >.
Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseHeredocTerminator
Write C< <<'THE_END'; > instead of C< <<'theEnd'; >.
Perl::Critic::Policy::ValuesAndExpressions::RestrictLongStrings
Stop mixing long strings with code.
Perl::Critic::Policy::ValuesAndExpressions::UnexpandedSpecialLiteral
specials like __PACKAGE__ used literally
Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations
Do not write C< my $foo = $bar if $baz; >.
Perl::Critic::Policy::Variables::ProhibitEvilVariables
Ban variables that aren't blessed by your shop.
Perl::Critic::Policy::Variables::ProhibitLocalVars
Use C<my> instead of C<local>, except when you have to.
Perl::Critic::Policy::Variables::ProhibitMatchVars
Avoid C<$`>, C<$&>, C<$'> and their English equivalents.
Perl::Critic::Policy::Variables::ProhibitPackageVars
Eliminate globals declared with C<our> or C<use vars>.
Perl::Critic::Policy::Variables::ProhibitPerl4PackageNames
Use double colon (::) to separate package name components instead of single quotes (').
Perl::Critic::Policy::Variables::ProhibitPunctuationVars
Write C<$EVAL_ERROR> instead of C<$@>.
Perl::Critic::Policy::Variables::ProhibitReusedNames
Do not reuse a variable name in a lexical scope
Perl::Critic::Policy::Variables::ProhibitUnusedVariables
Don't ask for storage you don't need.
Perl::Critic::Policy::Variables::ProhibitUselessInitialization
prohibit superfluous initializations
Perl::Critic::Policy::Variables::ProtectPrivateVars
Prevent access to private vars in other packages.
Perl::Critic::Policy::Variables::RequireInitializationForLocalVars
Write C<local $foo = $bar;> instead of just C<local $foo;>.
Perl::Critic::Policy::Variables::RequireLexicalLoopIterators
Write C<for my $element (@list) {...}> instead of C<for $element (@list) {...}>.
Perl::Critic::Policy::Variables::RequireLocalizedPunctuationVars
Magic variables should be assigned as "local".
Perl::Critic::Policy::Variables::RequireNegativeIndices
Negative array index should be used.
Perl::Critic::PolicyConfig
Configuration data for a Policy.
Perl::Critic::PolicyFactory
Instantiates Policy objects.
Perl::Critic::PolicyListing
Display minimal information about Policies.
Perl::Critic::PolicyParameter
Metadata about a parameter for a Policy.
Perl::Critic::PolicyParameter::Behavior
Default type-specific actions for a parameter.
Perl::Critic::PolicyParameter::Behavior::Boolean
Actions appropriate for a boolean parameter.
Perl::Critic::PolicyParameter::Behavior::Enumeration
Actions appropriate for an enumerated value.
Perl::Critic::PolicyParameter::Behavior::Integer
Actions appropriate for an integer parameter.
Perl::Critic::PolicyParameter::Behavior::String
Actions appropriate for a simple string parameter.
Perl::Critic::PolicyParameter::Behavior::StringList
Actions appropriate for a parameter that is a list of strings.
Perl::Critic::ProfilePrototype
Generate an initial Perl::Critic profile.
Perl::Critic::Pulp
some add-on perlcritic policies
Perl::Critic::Pulp::PodMinimumVersionViolation
Perl::Critic::Pulp::PodParser
shared POD parsing code for the Pulp perlcritic add-on
Perl::Critic::Pulp::PodParser::ProhibitBadAproposMarkup
Perl::Critic::Pulp::PodParser::ProhibitParagraphTwoDots
Perl::Critic::Pulp::PodParser::ProhibitUnbalancedParens
Perl::Critic::Pulp::PodParser::RequireLinkedURLs
Perl::Critic::Pulp::Utils
shared helper code for the Pulp perlcritic add-on
Perl::Critic::Statistics
Compile stats on Perl::Critic violations.
Perl::Critic::Storable
policy for Storable.pm
Perl::Critic::StricterSubs
Perl::Critic plugin for stricter subroutine checks
Perl::Critic::StricterSubs::Utils
Perl::Critic::Swift
Additional policies for Perl::Critic
Perl::Critic::TestUtils
Utility functions for testing new Policies.
Perl::Critic::Theme
Construct thematic sets of policies.
Perl::Critic::ThemeListing
List the themes of the installed Policies.
Perl::Critic::Tics
policies for things that make me wince
Perl::Critic::UserProfile
The contents of the user's profile, often F<.perlcriticrc>.
Perl::Critic::Utils
General utility subroutines and constants for Perl::Critic and derivative distributions.
Perl::Critic::Utils::Constants
Global constants.
Perl::Critic::Utils::DataConversion
Utilities for converting from one type of data to another.
Perl::Critic::Utils::McCabe
Functions that calculate the McCabe score of source code.
Perl::Critic::Utils::Perl
Utility functions for dealing with Perl language issues.
Perl::Critic::Utils::POD
Utility functions for dealing with POD.
Perl::Critic::Utils::POD::ParseInteriorSequence
Pod::Parser subclass to find all interior sequences.
Perl::Critic::Utils::PPI
Utility functions for dealing with PPI objects.
Perl::Critic::Utils::PPIRegexp
Utility functions for dealing with PPI regexp tokens.
Perl::Critic::Violation
A violation of a Policy found in some source code.
Perl::Destruct::Level
Allow to change perl's destruction level
Perl::Dist
Perl Distribution Creation Toolkit
Perl::Dist::Asset
Perl::Dist::Asset::Binary
"Binary Package" asset for a Win32 Perl
Perl::Dist::Asset::Distribution
"Perl Distribution" asset for a Win32 Perl
Perl::Dist::Asset::File
"Single File" asset for a Win32 Perl
Perl::Dist::Asset::Launcher
Perl::Dist::Asset::Library
"C Library" asset for a Win32 Perl
Perl::Dist::Asset::Module
Perl::Dist::Asset::PAR
"Binary .par package" asset for a Win32 Perl
Perl::Dist::Asset::Perl
Perl::Dist::Asset::Website
Perl::Dist::Bootstrap
A Perl distribution for building Perl distributions
Perl::Dist::CatInABox
Catalyst (and supporting modules) on top of
Perl::Dist::Chocolate
Chocolate Perl for Win32 (EXPERIMENTAL)
Perl::Dist::Inno
3rd Generation Distribution Builder using Inno Setup
Perl::Dist::Inno::File
Inno Setup Script [Files] Section Entry
Perl::Dist::Inno::Icon
Perl::Dist::Inno::Registry
Perl::Dist::Inno::Script
Perl::Dist::Inno::System
Perl::Dist::Machine
Generate an entire set of related distributions
Perl::Dist::Padre
Strawberry + Padre for Win32 builder
Perl::Dist::Strawberry
Strawberry Perl for Win32
Perl::Dist::Strawberry::BuildPerl::5123
Files and code for building Perl 5.12.3
Perl::Dist::Strawberry::Libraries
Library installation routines for Strawberry Perl
Perl::Dist::Util::Toolchain
Perl::Dist::Vanilla
Vanilla Perl for Win32
Perl::Dist::VanillaWiX
Minimal distribution of Perl, useful only for testing.
Perl::Dist::WiX
4th generation Win32 Perl distribution builder
Perl::Dist::WiX::Asset::Binary
"Binary Package" asset for a Win32 Perl
Perl::Dist::WiX::Asset::DistBase
Support routines for distribution assets.
Perl::Dist::WiX::Asset::DistFile
"Local Distribution" asset for a Win32 Perl
Perl::Dist::WiX::Asset::Distribution
"Perl Distribution" asset for a Win32 Perl
Perl::Dist::WiX::Asset::File
"Single File" asset for a Win32 Perl
Perl::Dist::WiX::Asset::Launcher
Start menu launcher asset for a Win32 Perl
Perl::Dist::WiX::Asset::Library
"C Library" asset for a Win32 Perl
Perl::Dist::WiX::Asset::Module
Module asset for a Win32 Perl
Perl::Dist::WiX::Asset::PAR
"Binary .par package" asset for a Win32 Perl
Perl::Dist::WiX::Asset::Perl
"Perl core" asset for a Win32 Perl
Perl::Dist::WiX::Asset::Website
Website link asset for a Win32 Perl
Perl::Dist::WiX::BuildPerl::5123
Files and code for building Perl 5.12.3
Perl::Dist::WiX::DirectoryCache
Cache of <Directory> tag objects.
Perl::Dist::WiX::DirectoryTree
Base directory tree for Perl::Dist::WiX.
Perl::Dist::WiX::Exceptions
Exception classes for Perl::Dist::WiX
Perl::Dist::WiX::FeatureTree
Tree of <Feature> tag objects.
Perl::Dist::WiX::Fragment::CreateFolder
A <Fragment> tag that creates a folder.
Perl::Dist::WiX::Fragment::Environment
A <Fragment> tag with environment variable handling.
Perl::Dist::WiX::Fragment::Files
A <Fragment> with file handling.
Perl::Dist::WiX::Fragment::StartMenu
A <Fragment> tag that handles the Start menu.
Perl::Dist::WiX::IconArray
A list of <Icon> tags.
Perl::Dist::WiX::Mixin::BuildPerl
4th generation Win32 Perl distribution builder
Perl::Dist::WiX::Mixin::Checkpoint
Checkpoint support for Perl::Dist::WiX
Perl::Dist::WiX::Mixin::Installation
Basic installation routines
Perl::Dist::WiX::Mixin::Libraries
Library installation routines
Perl::Dist::WiX::Mixin::Patching
Provides routines for patching files in a Win32 perl distribution.
Perl::Dist::WiX::Mixin::ReleaseNotes
Creates accessory files.
Perl::Dist::WiX::Mixin::Support
Provides support routines for building a Win32 perl distribution.
Perl::Dist::WiX::PropertyList
A list of <Property> and <WixVariable> tags.
Perl::Dist::WiX::Role::Asset
Role for assets.
Perl::Dist::WiX::Role::GitPlugin
Role for plugins that build from git checkouts.
Perl::Dist::WiX::Role::MultiPlugin
Perl::Dist::WiX::Role::NonURLAsset
Role for assets that do not require URL's.
Perl::Dist::WiX::Tag::Directory
<Directory> tag that knows how to search its children.
Perl::Dist::WiX::Tag::DirectoryRef
<DirectoryRef> tag that knows how to search its children.
Perl::Dist::WiX::Tag::Icon
<Icon> tag that stores its type of target.
Perl::Dist::WiX::Tag::MergeModule
<Merge> tag that makes its own <MergeRef> when requested.
Perl::Dist::WiX::Toolchain
Compiles the initial toolchain for a Win32 perl distribution.
Perl::Dist::WiX::Types
Public types used in Perl::Dist::WiX.
Perl::Dist::WiX::Util::Machine
Generate an entire set of related distributions
Perl::Folder
Fold and Unfold Blocks in Perl Code
Perl::ImportReport
PPI based package symbol import report
Perl::Installed
Get meta information of a perl installation
Perl::Maker
Make a Custom Perl with Modules
Perl::Meta
Extract metadata from perl/pod text.
Perl::Metric::Basic
Provide basic software metrics
Perl::Metrics
The Perl Code Metrics System
Perl::Metrics2
Perl metrics storage and processing engine
Perl::Metrics2::CpanFile
Perl::Metrics2::Parse
Perl::Metrics2::Plugin
Base class for Perl::Metrics Plugins
Perl::Metrics2::Plugin::Core
The Core Perl Metrics Package
Perl::Metrics2::Plugin::Deprecated
Deprecated feature scanner
Perl::Metrics::CDBI
Perl::Metrics::File
A local file to generate metrics for
Perl::Metrics::Metric
A Perl Document Metric
Perl::Metrics::Plugin
Base class for Perl::Metrics Plugins
Perl::Metrics::Plugin::Core
The Core Perl Metrics Package
Perl::Metrics::Plugin::MinimumVersion
Perl::Metrics plugin for Perl::MinimumVersion
Perl::Metrics::Simple
Count packages, subs, lines, etc. of many files.
Perl::Metrics::Simple::Analysis
Contains anaylsis results.
Perl::Metrics::Simple::Analysis::File
Methods analyzing a single file.
Perl::MinimumVersion
Find a minimum required version of perl for Perl code
Perl::MinimumVersion::Reason
Perl::OSType
Map Perl operating system names to generic types
Perl::PrereqScanner
a tool to scan your Perl code for its prerequisites
Perl::PrereqScanner::Scanner
something that scans for prereqs in a Perl document
Perl::PrereqScanner::Scanner::Moose
scan for Moose sugar indicators of required modules
Perl::PrereqScanner::Scanner::Perl5
scan for core Perl 5 language indicators of required modules
Perl::PrereqScanner::Scanner::TestMore
scanner to find recent Test::More usage
Perl::Repository::APC
Class modelling "All Perl Changes" repository
Perl::Repository::APC2SVN
Utility functions for APC and Subversion
Perl::Repository::APC::BAP
Transform the argument to buildaperl
Perl::SAX
Generate SAX events for perl source code (incomplete)
Perl::Shell
A Python-style "command line interpreter" for Perl
Perl::Signature
Generate functional signatures for Perl source code
Perl::Signature::Set
Create, store and check groups of signatures
Perl::Squish
Reduce Perl code to a few characters as possible
Perl::Staff
People working for Perl
Perl::Strip
reduce file size by stripping whitespace, comments, pod etc.
Perl::Tags
Generate (possibly exuberant) Ctags style tags for Perl sourcecode
Perl::Tags::ClassDot
perltags with support for Class::Dot
Perl::Tags::ClassDot::Tag::Property
class representing a perltags property tag.
Perl::Tags::Naive::Lib
Perl::Tags::Naive::Spiffy
Perl::Tags::PPI
use PPI to parse
Perl::Tidy
Parses and beautifies perl source
Perl::Unsafe::Signals
Allow unsafe handling of signals in selected blocks
Perl::Version
Parse and manipulate Perl version strings
Perl::Visualize
Perl::WhichPhase

Problems, suggestions, or comments to Randy Kobes. Questions? Check the FAQ.
Enable installations using PAR::WebStart.