[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"global-navigation":3,"page-\u002Fsei-cert-perl-coding-standard":28,"surround-\u002Fsei-cert-perl-coding-standard":332,"sidebar-sei-cert-perl-coding-standard":340},[4,8],{"title":5,"path":6,"_path":6,"fromAppConfig":7},"Home","\u002F",true,{"title":9,"path":10,"children":11,"_path":27,"fromAppConfig":7},"Coding Standards","\u002Fcoding-standards\u002F",[12,15,18,21,24],{"title":13,"path":14},"Android Coding Standard","\u002Fandroid-secure-coding-standard\u002F",{"title":16,"path":17},"C Coding Standard","\u002Fsei-cert-c-coding-standard\u002F",{"title":19,"path":20},"C++ Coding Standard","\u002Fsei-cert-cpp-coding-standard\u002F",{"title":22,"path":23},"Java Coding Standard","\u002Fsei-cert-oracle-coding-standard-for-java\u002F",{"title":25,"path":26},"Perl Coding Standard","\u002Fsei-cert-perl-coding-standard\u002F","\u002Fcoding-standards",{"id":29,"title":30,"body":31,"description":41,"extension":324,"meta":325,"navigation":7,"path":328,"seo":329,"stem":330,"__hash__":331},"content\u002F7.sei-cert-perl-coding-standard\u002F1.index.md","SEI CERT Perl Coding Standard",{"type":32,"value":33,"toc":312},"minimark",[34,38,42,47,50,61,65,81,85,135,139,189,193,213,217,236,240,248,259,263,271,275],[35,36,30],"h1",{"id":37},"sei-cert-perl-coding-standard",[39,40,41],"p",{},"The Perl rules and recommendations in this wiki are a work in progress and reflect the current thinking of the secure coding community. Because this is a development website, many pages are incomplete or contain errors. As rules and recommendations mature, they are published in report or book form as official releases. These releases are issued as dictated by the needs and interests of the secure software development community.",[43,44,46],"h2",{"id":45},"comments-and-contributing","Comments and Contributing",[39,48,49],{},"We provide access to the community members to contribute after subject matter expertise is verified.",[39,51,52,53,60],{},"For questions and comments about these standards, open a GitHub issue. For anything else, please ",[54,55,59],"a",{"href":56,"rel":57},"https:\u002F\u002Fwww.sei.cmu.edu\u002Fcontact-us\u002F",[58],"nofollow","submit feedback",".",[43,62,64],{"id":63},"front-matter","Front Matter",[66,67,68,75],"ul",{},[69,70,71],"li",{},[54,72,74],{"href":73},"\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002F","Introduction",[69,76,77],{},[54,78,80],{"href":79},"\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fdeprecations","Deprecations",[43,82,84],{"id":83},"rules","Rules",[66,86,87,93,99,105,111,117,123,129],{},[69,88,89],{},[54,90,92],{"href":91},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002F","Rule 01. Input Validation and Data Sanitization (IDS)",[69,94,95],{},[54,96,98],{"href":97},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002F","Rule 02. Declarations and Initialization (DCL)",[69,100,101],{},[54,102,104],{"href":103},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002F","Rule 03. Expressions (EXP)",[69,106,107],{},[54,108,110],{"href":109},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fintegers-int","Rule 04. Integers (INT)",[69,112,113],{},[54,114,116],{"href":115},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fstrings-str\u002F","Rule 05. Strings (STR)",[69,118,119],{},[54,120,122],{"href":121},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002F","Rule 06. Object-Oriented Programming (OOP)",[69,124,125],{},[54,126,128],{"href":127},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Ffile-input-and-output-fio\u002F","Rule 07. File Input and Output (FIO)",[69,130,131],{},[54,132,134],{"href":133},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002F","Rule 50. Miscellaneous (MSC)",[43,136,138],{"id":137},"recommendations","Recommendations",[66,140,141,147,153,159,165,171,177,183],{},[69,142,143],{},[54,144,146],{"href":145},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Finput-validation-and-data-sanitization-ids\u002F","Rec. 01. Input Validation and Data Sanitization (IDS)",[69,148,149],{},[54,150,152],{"href":151},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002F","Rec. 02. Declarations and Initialization (DCL)",[69,154,155],{},[54,156,158],{"href":157},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002F","Rec. 03. Expressions (EXP)",[69,160,161],{},[54,162,164],{"href":163},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fintegers-int\u002F","Rec. 04. Integers (INT)",[69,166,167],{},[54,168,170],{"href":169},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fstrings-str","Rec. 05. Strings (STR)",[69,172,173],{},[54,174,176],{"href":175},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fobject-oriented-programming-oop\u002F","Rec. 06. Object-Oriented Programming (OOP)",[69,178,179],{},[54,180,182],{"href":181},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Ffile-input-and-output-fio\u002F","Rec. 07. File Input and Output (FIO)",[69,184,185],{},[54,186,188],{"href":187},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002F","Rec. 50. Miscellaneous (MSC)",[43,190,192],{"id":191},"back-matter","Back Matter",[66,194,195,201,207],{},[69,196,197],{},[54,198,200],{"href":199},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography","AA. Bibliography",[69,202,203],{},[54,204,206],{"href":205},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002F","BB. Analyzers",[69,208,209],{},[54,210,212],{"href":211},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fcc-risk-assessments","CC. Risk Assessments",[43,214,216],{"id":215},"rules-vs-recomendations","Rules vs. Recomendations",[39,218,219,220,223,224,226,227,230,231,235],{},"This coding standard consists of ",[221,222,83],"em",{}," and ",[221,225,137],{}," , collectively referred to as ",[221,228,229],{},"guidelines"," . Rules are meant to provide normative requirements for code, whereas recommendations are meant to provide guidance that, when followed, should improve the safety, reliability, and security of software systems. ",[54,232,234],{"href":233},"..\u002Fsei-cert-c-coding-standard\u002Ffront-matter\u002Fintroduction\u002Frules-versus-recommendations","Learn more"," about the differences.",[43,237,239],{"id":238},"contact-us","Contact Us",[39,241,242,247],{},[54,243,246],{"href":244,"rel":245},"http:\u002F\u002Fwww.cert.org\u002Fsecure-coding\u002Fcontact.cfm",[58],"Contact us"," if you",[66,249,250,253,256],{},[69,251,252],{},"have questions about the Secure Coding wiki",[69,254,255],{},"have recommendations for standards in development",[69,257,258],{},"want to request privileges to participate in standards development",[43,260,262],{"id":261},"thank-you","Thank You!",[39,264,265,266,270],{},"We acknowledge the contributions of the following ",[54,267,269],{"href":268},"\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Facknowledgements","folks",", and we look forward to seeing your name here as well.",[43,272,274],{"id":273},"attachments","Attachments:",[276,277,281],"div",{"className":278,"align":280},[279],"greybox","left",[39,282,283,288,289,294,295,298,288,300,294,304,306,288,308,294],{},[284,285],"img",{"alt":286,"src":287},"","images\u002Ficons\u002Fbullet_blue.gif"," ",[54,290,293],{"href":291,"target":292},"\u002Fattachments\u002F88890562\u002F88892207.png","_blank","button_arrow_left.png"," (image\u002Fpng)",[296,297],"br",{},[284,299],{"alt":286,"src":287},[54,301,303],{"href":302,"target":292},"\u002Fattachments\u002F88890562\u002F88892208.png","button_arrow_right.png",[296,305],{},[284,307],{"alt":286,"src":287},[54,309,311],{"href":310,"target":292},"\u002Fattachments\u002F88890562\u002F88892209.png","button_arrow_up.png",{"title":286,"searchDepth":313,"depth":313,"links":314},2,[315,316,317,318,319,320,321,322,323],{"id":45,"depth":313,"text":46},{"id":63,"depth":313,"text":64},{"id":83,"depth":313,"text":84},{"id":137,"depth":313,"text":138},{"id":191,"depth":313,"text":192},{"id":215,"depth":313,"text":216},{"id":238,"depth":313,"text":239},{"id":261,"depth":313,"text":262},{"id":273,"depth":313,"text":274},"md",{"tags":326},[327],"wikimain","\u002Fsei-cert-perl-coding-standard",{"title":30,"description":41},"7.sei-cert-perl-coding-standard\u002F1.index","chKuMICvUhO8w0GxziRBArkhNHf9-h7A0cF8JPtiEpE",[333,337],{"title":334,"path":335,"stem":336,"children":-1},"TODO List","\u002Fsei-cert-oracle-coding-standard-for-java\u002Fadmin\u002Ftodo-list","6.sei-cert-oracle-coding-standard-for-java\u002F6.admin\u002F6.todo-list",{"title":64,"path":338,"stem":339,"children":-1},"\u002Fsei-cert-perl-coding-standard\u002Ffront-matter","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F1.index",[341],{"title":30,"path":328,"stem":330,"children":342},[343,344,393,523,669],{"title":30,"path":328,"stem":330},{"title":64,"path":338,"stem":339,"children":345},[346,347,349],{"title":64,"path":338,"stem":339},{"title":80,"path":79,"stem":348},"7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F2.deprecations",{"title":74,"path":350,"stem":351,"children":352},"\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F01.index",[353,354,358,362,366,370,374,378,382,386,390],{"title":74,"path":350,"stem":351},{"title":355,"path":356,"stem":357},"Scope","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fscope","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F01.scope",{"title":359,"path":360,"stem":361},"Tool Selection and Validation","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Ftool-selection-and-validation","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F02.tool-selection-and-validation",{"title":363,"path":364,"stem":365},"Rules versus Recommendations","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Frules-versus-recommendations","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F03.rules-versus-recommendations",{"title":367,"path":368,"stem":369},"Development Process","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fdevelopment-process","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F04.development-process",{"title":371,"path":372,"stem":373},"Usage","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fusage","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F05.usage",{"title":375,"path":376,"stem":377},"System Qualities","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fsystem-qualities","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F06.system-qualities",{"title":379,"path":380,"stem":381},"Risk Assessment","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Frisk-assessment","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F07.risk-assessment",{"title":383,"path":384,"stem":385},"Source Code Validation","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fsource-code-validation","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F08.source-code-validation",{"title":387,"path":388,"stem":389},"Automatically Generated Code","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fautomatically-generated-code","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F09.automatically-generated-code",{"title":391,"path":268,"stem":392},"Acknowledgements","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F11.acknowledgements",{"title":84,"path":394,"stem":395,"children":396},"\u002Fsei-cert-perl-coding-standard\u002Frules","7.sei-cert-perl-coding-standard\u002F3.rules\u002F1.index",[397,398,416,442,452,482,485,499,509],{"title":84,"path":394,"stem":395},{"title":399,"path":400,"stem":401,"children":402},"Declarations and Initialization (DCL)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F2.declarations-and-initialization-dcl\u002F1.index",[403,404,408,412],{"title":399,"path":400,"stem":401},{"title":405,"path":406,"stem":407},"DCL30-PL. Do not import deprecated modules","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F2.declarations-and-initialization-dcl\u002F2.dcl30-pl",{"title":409,"path":410,"stem":411},"DCL31-PL. Do not overload reserved keywords or subroutines","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl31-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F2.declarations-and-initialization-dcl\u002F3.dcl31-pl",{"title":413,"path":414,"stem":415},"DCL33-PL. Declare identifiers before using them","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fdeclarations-and-initialization-dcl\u002Fdcl33-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F2.declarations-and-initialization-dcl\u002F4.dcl33-pl",{"title":417,"path":418,"stem":419,"children":420},"Expressions (EXP)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F1.index",[421,422,426,430,434,438],{"title":417,"path":418,"stem":419},{"title":423,"path":424,"stem":425},"EXP30-PL. Do not use deprecated or obsolete functions or modules","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F2.exp30-pl",{"title":427,"path":428,"stem":429},"EXP31-PL. Do not suppress or ignore exceptions","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp31-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F3.exp31-pl",{"title":431,"path":432,"stem":433},"EXP32-PL. Do not ignore function return values","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp32-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F4.exp32-pl",{"title":435,"path":436,"stem":437},"EXP33-PL. Do not invoke a function in a context for which it is not defined","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp33-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F5.exp33-pl",{"title":439,"path":440,"stem":441},"EXP35-PL. Use the correct operator type for comparing values","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp35-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F6.exp35-pl",{"title":443,"path":444,"stem":445,"children":446},"File Input and Output (FIO)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Ffile-input-and-output-fio","7.sei-cert-perl-coding-standard\u002F3.rules\u002F4.file-input-and-output-fio\u002F1.index",[447,448],{"title":443,"path":444,"stem":445},{"title":449,"path":450,"stem":451},"FIO30-PL. Use compatible character encodings when performing network or file I\u002FO","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Ffile-input-and-output-fio\u002Ffio30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F4.file-input-and-output-fio\u002F2.fio30-pl",{"title":453,"path":454,"stem":455,"children":456},"Input Validation and Data Sanitization (IDS)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F1.index",[457,458,462,466,470,474,478],{"title":453,"path":454,"stem":455},{"title":459,"path":460,"stem":461},"IDS30-PL. Exclude user input from format strings","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F2.ids30-pl",{"title":463,"path":464,"stem":465},"IDS31-PL. Do not use the two-argument form of open()","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids31-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F3.ids31-pl",{"title":467,"path":468,"stem":469},"IDS32-PL. Validate any integer that is used as an array index","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids32-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F4.ids32-pl",{"title":471,"path":472,"stem":473},"IDS33-PL. Sanitize untrusted data passed across a trust boundary","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids33-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F5.ids33-pl",{"title":475,"path":476,"stem":477},"IDS34-PL. Do not pass untrusted, unsanitized data to a command interpreter","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids34-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F6.ids34-pl",{"title":479,"path":480,"stem":481},"IDS35-PL. Do not invoke the eval form with a string argument","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Finput-validation-and-data-sanitization-ids\u002Fids35-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F5.input-validation-and-data-sanitization-ids\u002F7.ids35-pl",{"title":483,"path":109,"stem":484},"Integers (INT)","7.sei-cert-perl-coding-standard\u002F3.rules\u002F6.integers-int",{"title":486,"path":487,"stem":488,"children":489},"Miscellaneous (MSC)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fmiscellaneous-msc","7.sei-cert-perl-coding-standard\u002F3.rules\u002F7.miscellaneous-msc\u002F1.index",[490,491,495],{"title":486,"path":487,"stem":488},{"title":492,"path":493,"stem":494},"MSC31-PL. Do not embed global statements","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc31-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F7.miscellaneous-msc\u002F2.msc31-pl",{"title":496,"path":497,"stem":498},"MSC32-PL. Do not provide a module's version value from outside the module","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fmiscellaneous-msc\u002Fmsc32-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F7.miscellaneous-msc\u002F3.msc32-pl",{"title":500,"path":501,"stem":502,"children":503},"Object-Oriented Programming (OOP)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fobject-oriented-programming-oop","7.sei-cert-perl-coding-standard\u002F3.rules\u002F8.object-oriented-programming-oop\u002F1.index",[504,505],{"title":500,"path":501,"stem":502},{"title":506,"path":507,"stem":508},"OOP32-PL. Prohibit indirect object call syntax","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fobject-oriented-programming-oop\u002Foop32-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F8.object-oriented-programming-oop\u002F2.oop32-pl",{"title":510,"path":511,"stem":512,"children":513},"Strings (STR)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fstrings-str","7.sei-cert-perl-coding-standard\u002F3.rules\u002F9.strings-str\u002F1.index",[514,515,519],{"title":510,"path":511,"stem":512},{"title":516,"path":517,"stem":518},"STR30-PL. Capture variables should be read only immediately after a successful regex match","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fstrings-str\u002Fstr30-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F9.strings-str\u002F2.str30-pl",{"title":520,"path":521,"stem":522},"STR31-PL. Do not pass string literals to functions expecting regexes","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fstrings-str\u002Fstr31-pl","7.sei-cert-perl-coding-standard\u002F3.rules\u002F9.strings-str\u002F3.str31-pl",{"title":138,"path":524,"stem":525,"children":526},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F1.index",[527,528,557,590,603,616,629,654,667],{"title":138,"path":524,"stem":525},{"title":399,"path":529,"stem":530,"children":531},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F1.index",[532,533,537,541,545,549,553],{"title":399,"path":529,"stem":530},{"title":534,"path":535,"stem":536},"DCL00-PL. Do not use subroutine prototypes","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F2.dcl00-pl",{"title":538,"path":539,"stem":540},"DCL01-PL. Do not reuse variable names in subscopes","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F3.dcl01-pl",{"title":542,"path":543,"stem":544},"DCL02-PL. Any modified punctuation variable should be declared local","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl02-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F4.dcl02-pl",{"title":546,"path":547,"stem":548},"DCL03-PL. Do not read a foreach iterator variable after the loop has completed","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl03-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F5.dcl03-pl",{"title":550,"path":551,"stem":552},"DCL04-PL. Always initialize local variables","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl04-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F6.dcl04-pl",{"title":554,"path":555,"stem":556},"DCL05-PL. Prohibit Perl4 package names","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fdeclarations-and-initialization-dcl\u002Fdcl05-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F2.declarations-and-initialization-dcl\u002F7.dcl05-pl",{"title":417,"path":558,"stem":559,"children":560},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F1.index",[561,562,566,570,574,578,582,586],{"title":417,"path":558,"stem":559},{"title":563,"path":564,"stem":565},"EXP00-PL. Do not return undef","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F2.exp00-pl",{"title":567,"path":568,"stem":569},"EXP01-PL. Do not depend on the return value of functions that lack a return statement","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F3.exp01-pl",{"title":571,"path":572,"stem":573},"EXP03-PL. Do not diminish the benefits of constants by assuming their values in expressions","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp03-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F4.exp03-pl",{"title":575,"path":576,"stem":577},"EXP04-PL. Do not mix the early-precedence logical operators with late-precedence logical operators","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp04-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F5.exp04-pl",{"title":579,"path":580,"stem":581},"EXP06-PL. Do not use an array in an implicit scalar context","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp06-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F6.exp06-pl",{"title":583,"path":584,"stem":585},"EXP07-PL. Do not modify $_ in list or sorting functions","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp07-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F7.exp07-pl",{"title":587,"path":588,"stem":589},"EXP08-PL. Do not use the one-argument form of select()","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp08-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F8.exp08-pl",{"title":443,"path":591,"stem":592,"children":593},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Ffile-input-and-output-fio","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F4.file-input-and-output-fio\u002F1.index",[594,595,599],{"title":443,"path":591,"stem":592},{"title":596,"path":597,"stem":598},"FIO00-PL. Do not use bareword file handles","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Ffile-input-and-output-fio\u002Ffio00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F4.file-input-and-output-fio\u002F2.fio00-pl",{"title":600,"path":601,"stem":602},"FIO01-PL. Do not operate on files that can be modified by untrusted users","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Ffile-input-and-output-fio\u002Ffio01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F4.file-input-and-output-fio\u002F3.fio01-pl",{"title":453,"path":604,"stem":605,"children":606},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Finput-validation-and-data-sanitization-ids","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F5.input-validation-and-data-sanitization-ids\u002F1.index",[607,608,612],{"title":453,"path":604,"stem":605},{"title":609,"path":610,"stem":611},"IDS00-PL. Canonicalize path names before validating them","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Finput-validation-and-data-sanitization-ids\u002Fids00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F5.input-validation-and-data-sanitization-ids\u002F2.ids00-pl",{"title":613,"path":614,"stem":615},"IDS01-PL. Use taint mode while being aware of its limitations","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Finput-validation-and-data-sanitization-ids\u002Fids01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F5.input-validation-and-data-sanitization-ids\u002F3.ids01-pl",{"title":483,"path":617,"stem":618,"children":619},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fintegers-int","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F6.integers-int\u002F1.index",[620,621,625],{"title":483,"path":617,"stem":618},{"title":622,"path":623,"stem":624},"INT00-PL. Do not prepend leading zeroes to integer literals","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fintegers-int\u002Fint00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F6.integers-int\u002F2.int00-pl",{"title":626,"path":627,"stem":628},"INT01-PL. Use small integers when precise computation is required","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fintegers-int\u002Fint01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F6.integers-int\u002F3.int01-pl",{"title":486,"path":630,"stem":631,"children":632},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F1.index",[633,634,638,642,646,650],{"title":486,"path":630,"stem":631},{"title":635,"path":636,"stem":637},"MSC00-PL. Detect and remove dead code","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F2.msc00-pl",{"title":639,"path":640,"stem":641},"MSC01-PL. Detect and remove unused variables","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F3.msc01-pl",{"title":643,"path":644,"stem":645},"MSC02-PL. Run programs with full warnings and strict checking","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc02-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F4.msc02-pl",{"title":647,"path":648,"stem":649},"MSC03-PL. Do not use select() to sleep","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc03-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F5.msc03-pl",{"title":651,"path":652,"stem":653},"MSC04-PL. Do not use comma to separate statements","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc\u002Fmsc04-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F6.msc04-pl",{"title":500,"path":655,"stem":656,"children":657},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fobject-oriented-programming-oop","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F8.object-oriented-programming-oop\u002F1.index",[658,659,663],{"title":500,"path":655,"stem":656},{"title":660,"path":661,"stem":662},"OOP00-PL. Do not signify inheritence at runtime","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fobject-oriented-programming-oop\u002Foop00-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F8.object-oriented-programming-oop\u002F2.oop00-pl",{"title":664,"path":665,"stem":666},"OOP01-PL. Do not access private variables or subroutines in other packages","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fobject-oriented-programming-oop\u002Foop01-pl","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F8.object-oriented-programming-oop\u002F3.oop01-pl",{"title":510,"path":169,"stem":668},"7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F9.strings-str",{"title":192,"path":670,"stem":671,"children":672},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F1.index",[673,674,676,705],{"title":192,"path":670,"stem":671},{"title":200,"path":199,"stem":675},"7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F2.aa-bibliography",{"title":206,"path":677,"stem":678,"children":679},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F1.index",[680,681,685,689,693,697,701],{"title":206,"path":677,"stem":678},{"title":682,"path":683,"stem":684},"Critic","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fcritic","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F2.critic",{"title":686,"path":687,"stem":688},"Critic_V","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fcritic_v","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F3.critic_v",{"title":690,"path":691,"stem":692},"Lint","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Flint","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F4.lint",{"title":694,"path":695,"stem":696},"Lint_V","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Flint_v","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F5.lint_v",{"title":698,"path":699,"stem":700},"Security Reviewer - Static Reviewer","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fsecurity-reviewer-static-reviewer","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F6.security-reviewer-static-reviewer",{"title":702,"path":703,"stem":704},"Security Reviewer - Static Reviewer_V","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers\u002Fsecurity-reviewer-static-reviewer_v","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F7.security-reviewer-static-reviewer_v",{"title":212,"path":211,"stem":706},"7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F4.cc-risk-assessments",1775657763714]