-
-
Save briandfoy/4525877 to your computer and use it in GitHub Desktop.
BuiltinFunctions::ProhibitBooleanGrep | |
BuiltinFunctions::ProhibitStringyEval | |
BuiltinFunctions::ProhibitStringySplit | |
BuiltinFunctions::ProhibitUniversalCan | |
BuiltinFunctions::ProhibitUniversalIsa | |
ClassHierarchies::ProhibitExplicitISA | |
ControlStructures::ProhibitMutatingListFunctions | |
ControlStructures::ProhibitUnreachableCode | |
ErrorHandling::RequireCarping | |
InputOutput::ProhibitBarewordFileHandles | |
InputOutput::RequireCheckedClose | |
InputOutput::RequireCheckedOpen | |
InputOutput::RequireCheckedSyscalls | |
InputOutput::ProhibitInteractiveTest | |
InputOutput::ProhibitOneArgSelect | |
InputOutput::ProhibitTwoArgOpen | |
Miscellanea::ProhibitFormats | |
Modules::ProhibitEvilModules | |
Modules::RequireEndWithOne | |
Objects::ProhibitIndirectSyntax | |
Policy::TestingAndDebugging::RequireUseStrict | |
Policy::TestingAndDebugging::RequireUseWarnings | |
RegularExpressions::ProhibitCaptureWithoutTest | |
Subroutines::ProhibitBuiltinHomonyms | |
Subroutines::ProhibitExplicitReturnUndef | |
Subroutines::ProhibitReturnSort | |
Subroutines::ProhibitSubroutinePrototypes | |
Subroutines::ProhibitUnusedPrivateSubroutines | |
Subroutines::ProtectPrivateSubs | |
Subroutines::RequireFinalReturn | |
TestingAndDebugging::ProhibitNoStrict | |
TestingAndDebugging::ProhibitProlongedStrictureOverride | |
TestingAndDebugging::RequireUseStrict | |
TestingAndDebugging::ProhibitNoWarnings | |
ValuesAndExpressions::ProhibitCommaSeparatedStatements | |
ValuesAndExpressions::ProhibitLeadingZeros | |
ValuesAndExpressions::ProhibitMagicNumbers | |
ValuesAndExpressions::ProhibitMismatchedOperators | |
ValuesAndExpressions::ProhibitMixedBooleanOperators | |
Variables::ProhibitPerl4PackageNames | |
Variables::ProhibitUnusedVariables | |
Variables::ProtectPrivateVars | |
Variables::RequireInitializationForLocalVars | |
Variables::RequireLexicalLoopIterators | |
Variables::RequireLocalizedPunctuationVars |
Updated
TestingAndDebugging:;ProhibitNoWarnings
should be TestingAndDebugging::ProhibitNoWarnings
Policy::TestingAndDebugging::RequireUseStrict
and Policy::TestingAndDebugging::RequireUseWarnings
are not found; these probably should be TestingAndDebugging::RequireUseStrict
(already in the list) and TestingAndDebugging::RequireUseWarnings
Typo line 34: "TestingAndDebugging:;ProhibitNoWarnings"
Fixed, thanks for pinging this.
It took me a minute to see the difference between the colon and semicolon typo. I think that means I need to clean my monitor.
Seems CERT's list has moved since this list was made. They seem to have move some of this to the Back Matter section on Perl::Critic.
Maybe worth updating the URL and expanding a little? 🙂
(With that said, I'd love to refer to this page from the CPANSec website, if that's ok.)
If it's public you can link to it. :)
Variables::ProhibitUnreachableCode is a mistake from the CERT site. It should be ControlStructures::ProhibitUnreachableCode
Also the following policies are missing:
BuiltinFunctions::ProhibitBooleanGrep
InputOutput::ProhibitTwoArgOpen
InputOutput::RequireCheckedClose
InputOutput::RequireCheckedOpen
InputOutput::RequireCheckedSyscalls
as referenced from:
https://www.securecoding.cert.org/confluence/display/perl/EXP06-PL.+Do+not+use+an+array+in+an+implicit+scalar+context
https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=76775519
https://www.securecoding.cert.org/confluence/display/perl/EXP32-PL.+Do+not+ignore+function+return+values