[{"data":1,"prerenderedAt":754},["ShallowReactive",2],{"global-navigation":3,"page-\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography":28,"surround-\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography":367,"sidebar-sei-cert-perl-coding-standard":376},[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":357,"extension":358,"meta":359,"navigation":7,"path":363,"seo":364,"stem":365,"__hash__":366},"content\u002F7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F2.aa-bibliography.md","AA. Bibliography",{"type":32,"value":33,"toc":353},"minimark",[34,38,61,66,75,80,89,94,108,120,135,140,147,152,161,166,184,189,200,205,214,228,242,247,256,261,272,277,286,291,300,305,314,335,338],[35,36,30],"h1",{"id":37},"aa-bibliography",[39,40,41,45,48,49,55,56,60],"p",{},[42,43],"a",{"id":44},"AA.Bibliography-Beattie",[46,47],"br",{},"\n[Beattie] Beattie, Malcolm. B::Lint. ",[42,50,54],{"href":51,"rel":52},"http:\u002F\u002Fwww.cpan.org",[53],"nofollow","Comprehensive Perl Archive Network"," , ",[42,57,58],{"href":58,"rel":59},"http:\u002F\u002Fsearch.cpan.org\u002F~nwclark\u002Fperl-5.8.8\u002Fext\u002FB\u002FB\u002FLint.pm",[53]," , Perl.org (2011).",[39,62,63],{},[42,64],{"id":65},"AA.Bibliography-Birznieks1998",[39,67,68,69,74],{},"[Birznieks 1998] Birznieks, Gunther, ",[42,70,73],{"href":71,"rel":72},"http:\u002F\u002Fgunther.web66.com\u002FFAQS\u002Ftaintmode.html",[53],"CGI\u002FPerl Taint Mode FAQ,"," Version 1.0, June 3, 1998.",[39,76,77],{},[42,78],{"id":79},"AA.Bibliography-CGI2005",[39,81,82,83,88],{},"[CGI 2005] CGI.pm: A Perl5 CGI Library, ",[42,84,87],{"href":85,"rel":86},"http:\u002F\u002Fcpansearch.perl.org\u002Fsrc\u002FMARKSTOS\u002FCGI.pm-3.59\u002Fcgi_docs.html#functionvsoo",[53],"Function-Oriented vs Object-Oriented Use"," .",[39,90,91],{},[42,92],{"id":93},"AA.Bibliography-Christey2005",[39,95,96,97,102,103,107],{},"[Christey 2005] Christey, Steven M. ",[42,98,101],{"href":99,"rel":100},"http:\u002F\u002Farchives.neohapsis.com\u002Farchives\u002Ffulldisclosure\u002F2005-12\u002F0066.html",[53],"Format String Vulnerabilities in Perl Programs"," ( ",[104,105,106],"em",{},"Full Disclosure"," mailing list archives), 2005 .",[39,109,110,113,115,116,119],{},[42,111],{"id":112},"AA.Bibliography-Conway2005",[46,114],{},"\n[Conway 2005] Conway, Damian. ",[104,117,118],{},"Perl Best Practices"," , O'Reilly Media, 2005, ISBN: 978-0596001735.",[39,121,122,125,127,128,55,132,60],{},[42,123],{"id":124},"AA.Bibliography-CPAN",[46,126],{},"\n[IMS 2010] Imaginative Software Systems. Perl::Critic, v. 1.116. ",[42,129,54],{"href":130,"rel":131},"http:\u002F\u002Fwww.cpan.org\u002F",[53],[42,133,51],{"href":130,"rel":134},[53],[39,136,137],{},[42,138],{"id":139},"AA.Bibliography-Garfinkel1996",[39,141,142,143,146],{},"[Garfinkel 1996] Garfinkel, Simson, & Spafford, Gene. ",[104,144,145],{},"Practical UNIX & Internet Security"," , 2nd Edition. Sebastopol, CA: O'Reilly Media, April 1996 (ISBN 1-56592-148-8).",[39,148,149],{},[42,150],{"id":151},"AA.Bibliography-Gough2005",[39,153,154,155,160],{},"[Gough 2005] Gough, Brian J. ",[42,156,159],{"href":157,"rel":158},"http:\u002F\u002Fwww.network-theory.co.uk\u002Fdocs\u002Fgccintro\u002Findex.html",[53],"An Introduction to GCC"," . Network Theory Ltd, Revised August 2005 (ISBN 0-9541617-9-3).",[39,162,163],{},[42,164],{"id":165},"AA.Bibliography-Howard2002",[39,167,168,169,178,179,183],{},"[Howard 2002] Howard, Michael, & LeBlanc, David C. ",[104,170,171],{},[42,172,175],{"href":173,"rel":174},"http:\u002F\u002Fwww.microsoft.com\u002Fmspress\u002Fbooks\u002F5957.aspx",[53],[104,176,177],{},"Writing Secure Code"," ",[42,180,182],{"href":173,"rel":181},[53],", 2nd ed."," Redmond, WA: Microsoft Press, 2002.",[39,185,186],{},[42,187],{"id":188},"AA.Bibliography-IEEE7542006",[39,190,191,192,199],{},"[IEEE 754 2006] IEEE. ",[42,193,196],{"href":194,"rel":195},"http:\u002F\u002Fgrouper.ieee.org\u002Fgroups\u002F754\u002F",[53],[104,197,198],{},"Standard for Binary Floating-Point Arithmetic"," (IEEE 754-1985), 2006.",[39,201,202],{},[42,203],{"id":204},"AA.Bibliography-Lester2006",[39,206,207,208,213],{},"[Lester 2006] Lester, Andy, \" ",[42,209,212],{"href":210,"rel":211},"http:\u002F\u002Fwww.oreillynet.com\u002Fonlamp\u002Fblog\u002F2006\u002F11\u002Fperls_taint_mode_to_the_rescue.html",[53],"Perl's taint mode to the rescue"," ,\" O'Reilly OULamp.com, November 17, 2006.",[39,215,216,219,221,222,227],{},[42,217],{"id":218},"AA.Bibliography-MetaCPAN",[46,220],{},"\n[Meta CPAN] ",[42,223,226],{"href":224,"rel":225},"https:\u002F\u002Fmetacpan.org\u002Fabout\u002Fresources",[53],"Meta::CPAN"," ,",[39,229,230,233,235,236,241],{},[42,231],{"id":232},"AA.Bibliography-OpenGroup08",[46,234],{},"\n[Open Group 08] IEEE. ",[42,237,240],{"href":238,"rel":239},"http:\u002F\u002Fwww.opengroup.org\u002Fonlinepubs\u002F9699919799",[53],"The Open Group Base Specifications Issue 7"," , IEEE Std 1003.1, 2008 edition.",[39,243,244],{},[42,245],{"id":246},"AA.Bibliography-Schwartz2000",[39,248,249,250,255],{},"[Schwartz 2000] Schwartz, Randal L, \" ",[42,251,254],{"href":252,"rel":253},"http:\u002F\u002Fwww.stonehenge.com\u002Fmerlyn\u002FUnixReview\u002Fcol33.html",[53],"Taint checking made simple"," ,\" Unix Review Column 33 (Aug 2000), Stonehenge, the Perl Review.",[39,257,258],{},[42,259],{"id":260},"AA.Bibliography-Seacord2005",[39,262,263,264,271],{},"[Seacord 2005] Robert C. Seacord, ",[42,265,268],{"href":266,"rel":267},"http:\u002F\u002Fwww.cert.org\u002Fbooks\u002Fsecure-coding",[53],[104,269,270],{},"Secure Coding in C and C++"," , Addison-Wesley Professional, Boston, 2005.",[39,273,274],{},[42,275],{"id":276},"AA.Bibliography-VU#282403",[39,278,279,280,285],{},"[VU#282403] ",[42,281,284],{"href":282,"rel":283},"http:\u002F\u002Fwww.kb.cert.org\u002Fvuls\u002Fid\u002F282403",[53],"AdCycle does not adequately validate user input thereby allowing for SQL injection"," . US CERT Vulnerability Note,2002.",[39,287,288],{},[42,289],{"id":290},"AA.Bibliography-VU#671444",[39,292,293,294,299],{},"[ VU#671444 ] ",[42,295,298],{"href":296,"rel":297},"http:\u002F\u002Fwww.kb.cert.org\u002Fvuls\u002Fid\u002F671444",[53],"Input validation error in quikstore.cgi allows attackers to execute commands"," , US CERT Vulnerability Note, 2002.",[39,301,302],{},[42,303],{"id":304},"AA.Bibliography-VU#948385",[39,306,307,308,313],{},"[VU#948385] ",[42,309,312],{"href":310,"rel":311},"https:\u002F\u002Fwww.kb.cert.org\u002Fvuls\u002Fid\u002F948385",[53],"Perl contains an integer sign error in format string processing"," , US CERT Vulnerability Note, 2005.",[39,315,316,178,319,322,324,325,55,330,334],{},[42,317],{"id":318},"AA.Bibliography-Manpages",[42,320],{"id":321},"AA.Bibliography-Wall2011",[46,323],{},"\n[Wall 2011] Wall, Larry. ",[42,326,329],{"href":327,"rel":328},"http:\u002F\u002Fperldoc.perl.org",[53],"Perl 5 version 14.1 Manual Pages",[42,331,332],{"href":332,"rel":333},"http:\u002F\u002Fperldoc.perl.org\u002F",[53]," (1995–2011).",[336,337],"hr",{},[39,339,340,178,347],{},[42,341,343],{"href":342},"https:\u002F\u002Fwww.securecoding.cert.org\u002Fconfluence\u002Fdisplay\u002Fperl\u002FMSC30-PL.+Do+not+use+comma+to+separate+statements?showChildren=false&showComments=false",[344,345],"img",{"src":346},"\u002Fattachments\u002F88890562\u002F88892207.png",[42,348,350],{"href":349},"https:\u002F\u002Fwww.securecoding.cert.org\u002Fconfluence\u002Fdisplay\u002Fperl\u002FCERT+Perl+Secure+Coding+Standard",[344,351],{"src":352},"\u002Fattachments\u002F88890562\u002F88892209.png",{"title":354,"searchDepth":355,"depth":355,"links":356},"",2,[],"\n[Beattie] Beattie, Malcolm. B::Lint. Comprehensive Perl Archive Network , http:\u002F\u002Fsearch.cpan.org\u002F~nwclark\u002Fperl-5.8.8\u002Fext\u002FB\u002FB\u002FLint.pm , Perl.org (2011).","md",{"tags":360},[361,362],"section","bm","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography",{"title":30,"description":357},"7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F2.aa-bibliography","OoCDolKAIeeQS9OjNVuCvwBv0qAsBo0BynKSJ84h9Ko",[368,372],{"title":369,"path":370,"stem":371,"children":-1},"Back Matter","\u002Fsei-cert-perl-coding-standard\u002Fback-matter","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F1.index",{"title":373,"path":374,"stem":375,"children":-1},"BB. Analyzers","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fbb-analyzers","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F3.bb-analyzers\u002F1.index",[377],{"title":378,"path":379,"stem":380,"children":381},"SEI CERT Perl Coding Standard","\u002Fsei-cert-perl-coding-standard","7.sei-cert-perl-coding-standard\u002F1.index",[382,383,439,571,719],{"title":378,"path":379,"stem":380},{"title":384,"path":385,"stem":386,"children":387},"Front Matter","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F1.index",[388,389,393],{"title":384,"path":385,"stem":386},{"title":390,"path":391,"stem":392},"Deprecations","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fdeprecations","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F2.deprecations",{"title":394,"path":395,"stem":396,"children":397},"Introduction","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F01.index",[398,399,403,407,411,415,419,423,427,431,435],{"title":394,"path":395,"stem":396},{"title":400,"path":401,"stem":402},"Scope","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fscope","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F01.scope",{"title":404,"path":405,"stem":406},"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":408,"path":409,"stem":410},"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":412,"path":413,"stem":414},"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":416,"path":417,"stem":418},"Usage","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fusage","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F05.usage",{"title":420,"path":421,"stem":422},"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":424,"path":425,"stem":426},"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":428,"path":429,"stem":430},"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":432,"path":433,"stem":434},"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":436,"path":437,"stem":438},"Acknowledgements","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Facknowledgements","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F11.acknowledgements",{"title":440,"path":441,"stem":442,"children":443},"Rules","\u002Fsei-cert-perl-coding-standard\u002Frules","7.sei-cert-perl-coding-standard\u002F3.rules\u002F1.index",[444,445,463,489,499,529,533,547,557],{"title":440,"path":441,"stem":442},{"title":446,"path":447,"stem":448,"children":449},"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",[450,451,455,459],{"title":446,"path":447,"stem":448},{"title":452,"path":453,"stem":454},"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":456,"path":457,"stem":458},"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":460,"path":461,"stem":462},"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":464,"path":465,"stem":466,"children":467},"Expressions (EXP)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F1.index",[468,469,473,477,481,485],{"title":464,"path":465,"stem":466},{"title":470,"path":471,"stem":472},"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":474,"path":475,"stem":476},"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":478,"path":479,"stem":480},"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":482,"path":483,"stem":484},"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":486,"path":487,"stem":488},"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":490,"path":491,"stem":492,"children":493},"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",[494,495],{"title":490,"path":491,"stem":492},{"title":496,"path":497,"stem":498},"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":500,"path":501,"stem":502,"children":503},"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",[504,505,509,513,517,521,525],{"title":500,"path":501,"stem":502},{"title":506,"path":507,"stem":508},"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":510,"path":511,"stem":512},"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":514,"path":515,"stem":516},"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":518,"path":519,"stem":520},"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":522,"path":523,"stem":524},"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":526,"path":527,"stem":528},"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":530,"path":531,"stem":532},"Integers (INT)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fintegers-int","7.sei-cert-perl-coding-standard\u002F3.rules\u002F6.integers-int",{"title":534,"path":535,"stem":536,"children":537},"Miscellaneous (MSC)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fmiscellaneous-msc","7.sei-cert-perl-coding-standard\u002F3.rules\u002F7.miscellaneous-msc\u002F1.index",[538,539,543],{"title":534,"path":535,"stem":536},{"title":540,"path":541,"stem":542},"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":544,"path":545,"stem":546},"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":548,"path":549,"stem":550,"children":551},"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",[552,553],{"title":548,"path":549,"stem":550},{"title":554,"path":555,"stem":556},"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":558,"path":559,"stem":560,"children":561},"Strings (STR)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fstrings-str","7.sei-cert-perl-coding-standard\u002F3.rules\u002F9.strings-str\u002F1.index",[562,563,567],{"title":558,"path":559,"stem":560},{"title":564,"path":565,"stem":566},"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":568,"path":569,"stem":570},"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":572,"path":573,"stem":574,"children":575},"Recommendations","\u002Fsei-cert-perl-coding-standard\u002Frecommendations","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F1.index",[576,577,606,639,652,665,678,703,716],{"title":572,"path":573,"stem":574},{"title":446,"path":578,"stem":579,"children":580},"\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",[581,582,586,590,594,598,602],{"title":446,"path":578,"stem":579},{"title":583,"path":584,"stem":585},"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":587,"path":588,"stem":589},"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":591,"path":592,"stem":593},"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":595,"path":596,"stem":597},"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":599,"path":600,"stem":601},"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":603,"path":604,"stem":605},"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":464,"path":607,"stem":608,"children":609},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F1.index",[610,611,615,619,623,627,631,635],{"title":464,"path":607,"stem":608},{"title":612,"path":613,"stem":614},"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":616,"path":617,"stem":618},"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":620,"path":621,"stem":622},"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":624,"path":625,"stem":626},"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":628,"path":629,"stem":630},"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":632,"path":633,"stem":634},"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":636,"path":637,"stem":638},"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":490,"path":640,"stem":641,"children":642},"\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",[643,644,648],{"title":490,"path":640,"stem":641},{"title":645,"path":646,"stem":647},"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":649,"path":650,"stem":651},"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":500,"path":653,"stem":654,"children":655},"\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",[656,657,661],{"title":500,"path":653,"stem":654},{"title":658,"path":659,"stem":660},"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":662,"path":663,"stem":664},"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":530,"path":666,"stem":667,"children":668},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fintegers-int","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F6.integers-int\u002F1.index",[669,670,674],{"title":530,"path":666,"stem":667},{"title":671,"path":672,"stem":673},"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":675,"path":676,"stem":677},"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":534,"path":679,"stem":680,"children":681},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F1.index",[682,683,687,691,695,699],{"title":534,"path":679,"stem":680},{"title":684,"path":685,"stem":686},"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":688,"path":689,"stem":690},"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":692,"path":693,"stem":694},"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":696,"path":697,"stem":698},"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":700,"path":701,"stem":702},"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":548,"path":704,"stem":705,"children":706},"\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",[707,708,712],{"title":548,"path":704,"stem":705},{"title":709,"path":710,"stem":711},"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":713,"path":714,"stem":715},"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":558,"path":717,"stem":718},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fstrings-str","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F9.strings-str",{"title":369,"path":370,"stem":371,"children":720},[721,722,723,750],{"title":369,"path":370,"stem":371},{"title":30,"path":363,"stem":365},{"title":373,"path":374,"stem":375,"children":724},[725,726,730,734,738,742,746],{"title":373,"path":374,"stem":375},{"title":727,"path":728,"stem":729},"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":731,"path":732,"stem":733},"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":735,"path":736,"stem":737},"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":739,"path":740,"stem":741},"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":743,"path":744,"stem":745},"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":747,"path":748,"stem":749},"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":751,"path":752,"stem":753},"CC. Risk Assessments","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Fcc-risk-assessments","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F4.cc-risk-assessments",1775657764706]