[{"data":1,"prerenderedAt":1143},["ShallowReactive",2],{"global-navigation":3,"page-\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp08-pl":28,"surround-\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp08-pl":759,"sidebar-sei-cert-perl-coding-standard":768},[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":749,"extension":750,"meta":751,"navigation":7,"path":755,"seo":756,"stem":757,"__hash__":758},"content\u002F7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F8.exp08-pl.md","EXP08-PL. Do not use the one-argument form of select()",{"type":32,"value":33,"toc":740},"minimark",[34,38,61,73,78,81,309,319,323,333,440,444,470,490,493,510,539,543,546,613,617,645,649,712,715,736],[35,36,30],"h1",{"id":37},"exp08-pl-do-not-use-the-one-argument-form-of-select",[39,40,41,42,46,47,50,51,54,55,57,58,60],"p",{},"Perl has three ",[43,44,45],"code",{},"select()"," functions with widely differing purposes. One form takes four arguments and is a wrapper around the POSIX ",[43,48,49],{},"select(3)"," call. A second form takes zero arguments and returns the currently selected file handle: the handle of the output stream used by ",[43,52,53],{},"print"," ; it normally defaults to standard output. The third form takes one argument, a file handle, and makes it the currently selected file handle. That is, this form of ",[43,56,45],{}," changes the file that is used by all ",[43,59,53],{}," statements (unless they specify their own file handle).",[39,62,63,64,66,67,69,70,72],{},"Modifying the file handle used by ",[43,65,53],{}," is counterintuitive because subsequent ",[43,68,53],{}," statements will no longer print to standard output. Furthermore, the globally selected file handle is not garbage-collected; it remains open even if the file handle goes out of scope. Therefore, do not modify the selected file handle with ",[43,71,45],{}," .",[74,75,77],"h2",{"id":76},"noncompliant-code-example","Noncompliant Code Example",[39,79,80],{},"This noncompliant code example tries to log a message while interacting with the user.",[82,83,85],"code-block",{"quality":84},"bad",[86,87,92],"pre",{"className":88,"code":89,"language":90,"meta":91,"style":91},"language-perl shiki shiki-themes github-light github-dark monokai","sub output_log {\n  my $action = shift;\n  open( my $log, \">>\", \"log.txt\");\n  select( $log);\n  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);\n  $year += 1900;\n  $mon += 1;\n  print \"$year-$mon-$mday $hour:$min:$sec: $action\\n\";\n}\n\n# ...\n\nprint \"Hello!\\n\";\noutput_log(\"Greeted user\");\nprint \"How are you?\\n\";\n","perl","",[43,93,94,111,128,156,165,182,188,194,246,252,258,265,270,284,295],{"__ignoreMap":91},[95,96,99,103,107],"span",{"class":97,"line":98},"line",1,[95,100,102],{"class":101},"sq6CD","sub",[95,104,106],{"class":105},"srTi1"," output_log",[95,108,110],{"class":109},"sMOD_"," {\n",[95,112,114,118,121,125],{"class":97,"line":113},2,[95,115,117],{"class":116},"sC2Qs","  my",[95,119,120],{"class":109}," $action = ",[95,122,124],{"class":123},"sTrkL","shift",[95,126,127],{"class":109},";\n",[95,129,131,134,137,140,143,147,150,153],{"class":97,"line":130},3,[95,132,133],{"class":123},"  open",[95,135,136],{"class":109},"( ",[95,138,139],{"class":116},"my",[95,141,142],{"class":109}," $log, ",[95,144,146],{"class":145},"sstjo","\">>\"",[95,148,149],{"class":109},", ",[95,151,152],{"class":145},"\"log.txt\"",[95,154,155],{"class":109},");\n",[95,157,159,162],{"class":97,"line":158},4,[95,160,161],{"class":116},"  select",[95,163,164],{"class":109},"( $log);\n",[95,166,168,171,174,177,180],{"class":97,"line":167},5,[95,169,170],{"class":109},"  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = ",[95,172,173],{"class":123},"localtime",[95,175,176],{"class":109},"(",[95,178,179],{"class":123},"time",[95,181,155],{"class":109},[95,183,185],{"class":97,"line":184},6,[95,186,187],{"class":109},"  $year += 1900;\n",[95,189,191],{"class":97,"line":190},7,[95,192,193],{"class":109},"  $mon += 1;\n",[95,195,197,200,203,206,209,212,214,217,220,223,226,228,231,234,237,241,244],{"class":97,"line":196},8,[95,198,199],{"class":123},"  print",[95,201,202],{"class":145}," \"",[95,204,205],{"class":109},"$year",[95,207,208],{"class":145},"-",[95,210,211],{"class":109},"$mon",[95,213,208],{"class":145},[95,215,216],{"class":109},"$mday",[95,218,219],{"class":109}," $hour",[95,221,222],{"class":145},":",[95,224,225],{"class":109},"$min",[95,227,222],{"class":145},[95,229,230],{"class":109},"$sec",[95,232,233],{"class":145},": ",[95,235,236],{"class":109},"$action",[95,238,240],{"class":239},"s7F3e","\\n",[95,242,243],{"class":145},"\"",[95,245,127],{"class":109},[95,247,249],{"class":97,"line":248},9,[95,250,251],{"class":109},"}\n",[95,253,255],{"class":97,"line":254},10,[95,256,257],{"emptyLinePlaceholder":7},"\n",[95,259,261],{"class":97,"line":260},11,[95,262,264],{"class":263},"s8-w5","# ...\n",[95,266,268],{"class":97,"line":267},12,[95,269,257],{"emptyLinePlaceholder":7},[95,271,273,275,278,280,282],{"class":97,"line":272},13,[95,274,53],{"class":123},[95,276,277],{"class":145}," \"Hello!",[95,279,240],{"class":239},[95,281,243],{"class":145},[95,283,127],{"class":109},[95,285,287,290,293],{"class":97,"line":286},14,[95,288,289],{"class":109},"output_log(",[95,291,292],{"class":145},"\"Greeted user\"",[95,294,155],{"class":109},[95,296,298,300,303,305,307],{"class":97,"line":297},15,[95,299,53],{"class":123},[95,301,302],{"class":145}," \"How are you?",[95,304,240],{"class":239},[95,306,243],{"class":145},[95,308,127],{"class":109},[39,310,311,312,314,315,318],{},"Unfortunately, the ",[43,313,45],{}," method causes the last print statement to print ",[43,316,317],{},"  \"How are you?\" "," not to standard output but to the log file.",[74,320,322],{"id":321},"compliant-solution","Compliant Solution",[39,324,325,326,328,329,332],{},"This compliant solution avoids ",[43,327,45],{}," and directs the ",[43,330,331],{},"print()"," statement to use the log file handle for output.",[82,334,336],{"quality":335},"good",[86,337,339],{"className":88,"code":338,"language":90,"meta":91,"style":91},"sub output_log {\n  my $action = shift;\n  open( my $log, \">>\", \"log.txt\");\n  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);\n  $year += 1900;\n  $mon += 1;\n  print $log \"$year-$mon-$mday $hour:$min:$sec: $action\\n\";\n}\n",[43,340,341,349,359,377,389,393,397,436],{"__ignoreMap":91},[95,342,343,345,347],{"class":97,"line":98},[95,344,102],{"class":101},[95,346,106],{"class":105},[95,348,110],{"class":109},[95,350,351,353,355,357],{"class":97,"line":113},[95,352,117],{"class":116},[95,354,120],{"class":109},[95,356,124],{"class":123},[95,358,127],{"class":109},[95,360,361,363,365,367,369,371,373,375],{"class":97,"line":130},[95,362,133],{"class":123},[95,364,136],{"class":109},[95,366,139],{"class":116},[95,368,142],{"class":109},[95,370,146],{"class":145},[95,372,149],{"class":109},[95,374,152],{"class":145},[95,376,155],{"class":109},[95,378,379,381,383,385,387],{"class":97,"line":158},[95,380,170],{"class":109},[95,382,173],{"class":123},[95,384,176],{"class":109},[95,386,179],{"class":123},[95,388,155],{"class":109},[95,390,391],{"class":97,"line":167},[95,392,187],{"class":109},[95,394,395],{"class":97,"line":184},[95,396,193],{"class":109},[95,398,399,401,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434],{"class":97,"line":190},[95,400,199],{"class":123},[95,402,403],{"class":109}," $log ",[95,405,243],{"class":145},[95,407,205],{"class":109},[95,409,208],{"class":145},[95,411,211],{"class":109},[95,413,208],{"class":145},[95,415,216],{"class":109},[95,417,219],{"class":109},[95,419,222],{"class":145},[95,421,225],{"class":109},[95,423,222],{"class":145},[95,425,230],{"class":109},[95,427,233],{"class":145},[95,429,236],{"class":109},[95,431,240],{"class":239},[95,433,243],{"class":145},[95,435,127],{"class":109},[95,437,438],{"class":97,"line":196},[95,439,251],{"class":109},[74,441,443],{"id":442},"noncompliant-code-example-autoflush","Noncompliant Code Example (Autoflush)",[39,445,446,447,449,450,452,453,456,457,460,461,463,464,466,467,469],{},"This noncompliant code example uses the one-argument ",[43,448,45],{}," function temporarily to modify the autoflush property associated with the file. The one-argument ",[43,451,45],{}," returns the old file handle (normally standard output). After the ",[43,454,455],{},"$log"," file handle is selected, the modification of ",[43,458,459],{},"$|"," instructs Perl to autoflush everything sent to the ",[43,462,455],{}," file handle. That is, every output to the ",[43,465,455],{}," file handle is flushed immediately. After the modification, ",[43,468,45],{}," is called again to restore the original selected file handle.",[82,471,472],{"quality":84},[86,473,475],{"className":88,"code":474,"language":90,"meta":91,"style":91},"select(( select($log), $| = 1)[0]);\n",[43,476,477],{"__ignoreMap":91},[95,478,479,482,485,487],{"class":97,"line":98},[95,480,481],{"class":116},"select",[95,483,484],{"class":109},"(( ",[95,486,481],{"class":116},[95,488,489],{"class":109},"($log), $| = 1)[0]);\n",[74,491,322],{"id":492},"compliant-solution-1",[39,494,495,496,498,499,501,502,505,506,509],{},"This compliant solution causes output to ",[43,497,455],{}," to be autoflushed without using ",[43,500,45],{}," . It uses the ",[43,503,504],{},"autoflush()"," object method from the ",[43,507,508],{},"IO::Handle"," module.",[82,511,512],{"quality":335},[86,513,515],{"className":88,"code":514,"language":90,"meta":91,"style":91},"use IO::Handle;\n# ...\n$log->autoflush();\n",[43,516,517,525,529],{"__ignoreMap":91},[95,518,519,522],{"class":97,"line":98},[95,520,521],{"class":116},"use",[95,523,524],{"class":109}," IO::Handle;\n",[95,526,527],{"class":97,"line":113},[95,528,264],{"class":263},[95,530,531,533,536],{"class":97,"line":130},[95,532,455],{"class":109},[95,534,535],{"class":116},"->",[95,537,538],{"class":109},"autoflush();\n",[74,540,542],{"id":541},"risk-assessment","Risk Assessment",[39,544,545],{},"Failure to handle error codes or other values returned by functions can lead to incorrect program flow and violations of data integrity.",[547,548,549,550,549,580],"table",{},"\n  ",[551,552,553,554,549],"thead",{},"\n    ",[555,556,557,558,557,562,557,565,557,568,557,571,557,574,557,577,553],"tr",{},"\n      ",[559,560,561],"th",{},"Recommendation",[559,563,564],{},"Severity",[559,566,567],{},"Likelihood",[559,569,570],{},"Detectable",[559,572,573],{},"Repairable",[559,575,576],{},"Priority",[559,578,579],{},"Level",[581,582,553,583,549],"tbody",{},[555,584,557,585,557,589,557,592,557,595,557,598,557,601,557,608,553],{},[586,587,588],"td",{},"EXP08-PL",[586,590,591],{},"Medium",[586,593,594],{},"Unlikely",[586,596,597],{},"Yes",[586,599,600],{},"No",[586,602,604],{"style":603},"color: #27ae60;",[605,606,607],"b",{},"P4",[586,609,610],{"style":603},[605,611,612],{},"L3",[74,614,616],{"id":615},"automated-detection","Automated Detection",[547,618,619,627],{},[551,620,621],{},[555,622,623,625],{},[559,624],{},[559,626],{},[581,628,629,637],{},[555,630,631,634],{},[586,632,633],{},"Tool",[586,635,636],{},"Diagnostic",[555,638,639,642],{},[586,640,641],{},"Perl::Critic",[586,643,644],{},"InputOutput::ProhibitOneArgSelect",[74,646,648],{"id":647},"bibliography","Bibliography",[547,650,651,659],{},[551,652,653],{},[555,654,655,657],{},[559,656],{},[559,658],{},[581,660,661,686,697],{},[555,662,663,672],{},[586,664,665,666,671],{},"[ ",[667,668,670],"a",{"href":669},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography#AA.Bibliography-CPAN","CPAN"," ]",[586,673,674,680,681],{},[667,675,679],{"href":676,"rel":677},"http:\u002F\u002Fsearch.cpan.org\u002F%7Eelliotjs\u002FPerl-Critic-1.116\u002F",[678],"nofollow","Elliot Shank, Perl-Critic-1.116"," ",[667,682,685],{"href":683,"rel":684},"http:\u002F\u002Fsearch.cpan.org\u002Fdist\u002FPerl-Critic\u002Flib\u002FPerl\u002FCritic\u002FPolicy\u002FInputOutput\u002FProhibitOneArgSelect.pm",[678],"ProhibitOneArgSelect",[555,687,688,694],{},[586,689,665,690,671],{},[667,691,693],{"href":692},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography#AA.Bibliography-Conway2005","Conway 2005",[586,695,696],{},"\"Autoflushing,\" p. 224",[555,698,699,705],{},[586,700,665,701,671],{},[667,702,704],{"href":703},"\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography#AA.Bibliography-Manpages","Wall 2011",[586,706,707],{},[667,708,711],{"href":709,"rel":710},"http:\u002F\u002Fperldoc.perl.org\u002Fperlfunc.html",[678],"perlfunc",[713,714],"hr",{},[39,716,717,680,724,680,730],{},[667,718,720],{"href":719},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002Fexp35-pl",[721,722],"img",{"src":723},"\u002Fattachments\u002F88890562\u002F88892207.png",[667,725,727],{"href":726},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp\u002F",[721,728],{"src":729},"\u002Fattachments\u002F88890562\u002F88892209.png",[667,731,733],{"href":732},"\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fintegers-int",[721,734],{"src":735},"\u002Fattachments\u002F88890562\u002F88892208.png",[737,738,739],"style",{},"html pre.shiki code .sq6CD, html code.shiki .sq6CD{--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .srTi1, html code.shiki .srTi1{--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sMOD_, html code.shiki .sMOD_{--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sC2Qs, html code.shiki .sC2Qs{--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sTrkL, html code.shiki .sTrkL{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#66D9EF}html pre.shiki code .sstjo, html code.shiki .sstjo{--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .s7F3e, html code.shiki .s7F3e{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .s8-w5, html code.shiki .s8-w5{--shiki-default:#6A737D;--shiki-dark:#6A737D;--shiki-sepia:#88846F}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":91,"searchDepth":113,"depth":113,"links":741},[742,743,744,745,746,747,748],{"id":76,"depth":113,"text":77},{"id":321,"depth":113,"text":322},{"id":442,"depth":113,"text":443},{"id":492,"depth":113,"text":322},{"id":541,"depth":113,"text":542},{"id":615,"depth":113,"text":616},{"id":647,"depth":113,"text":648},"Perl has three select() functions with widely differing purposes. One form takes four arguments and is a wrapper around the POSIX select(3) call. A second form takes zero arguments and returns the currently selected file handle: the handle of the output stream used by print ; it normally defaults to standard output. The third form takes one argument, a file handle, and makes it the currently selected file handle. That is, this form of select() changes the file that is used by all print statements (unless they specify their own file handle).","md",{"tags":752},[753,754],"recommendation","exp","\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp\u002Fexp08-pl",{"title":30,"description":749},"7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F8.exp08-pl","oD5ub9QJvlINnh1Ry3lYdkQGMz_q_2l7HatudkAzNRA",[760,764],{"title":761,"path":762,"stem":763,"children":-1},"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":765,"path":766,"stem":767,"children":-1},"File Input and Output (FIO)","\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",[769],{"title":770,"path":771,"stem":772,"children":773},"SEI CERT Perl Coding Standard","\u002Fsei-cert-perl-coding-standard","7.sei-cert-perl-coding-standard\u002F1.index",[774,775,830,959,1099],{"title":770,"path":771,"stem":772},{"title":776,"path":777,"stem":778,"children":779},"Front Matter","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F1.index",[780,781,785],{"title":776,"path":777,"stem":778},{"title":782,"path":783,"stem":784},"Deprecations","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fdeprecations","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F2.deprecations",{"title":786,"path":787,"stem":788,"children":789},"Introduction","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F01.index",[790,791,795,799,803,807,811,815,818,822,826],{"title":786,"path":787,"stem":788},{"title":792,"path":793,"stem":794},"Scope","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fscope","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F01.scope",{"title":796,"path":797,"stem":798},"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":800,"path":801,"stem":802},"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":804,"path":805,"stem":806},"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":808,"path":809,"stem":810},"Usage","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Fusage","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F05.usage",{"title":812,"path":813,"stem":814},"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":542,"path":816,"stem":817},"\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":819,"path":820,"stem":821},"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":823,"path":824,"stem":825},"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":827,"path":828,"stem":829},"Acknowledgements","\u002Fsei-cert-perl-coding-standard\u002Ffront-matter\u002Fintroduction\u002Facknowledgements","7.sei-cert-perl-coding-standard\u002F2.front-matter\u002F3.introduction\u002F11.acknowledgements",{"title":831,"path":832,"stem":833,"children":834},"Rules","\u002Fsei-cert-perl-coding-standard\u002Frules","7.sei-cert-perl-coding-standard\u002F3.rules\u002F1.index",[835,836,854,879,888,918,921,935,945],{"title":831,"path":832,"stem":833},{"title":837,"path":838,"stem":839,"children":840},"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",[841,842,846,850],{"title":837,"path":838,"stem":839},{"title":843,"path":844,"stem":845},"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":847,"path":848,"stem":849},"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":851,"path":852,"stem":853},"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":855,"path":856,"stem":857,"children":858},"Expressions (EXP)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fexpressions-exp","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F1.index",[859,860,864,868,872,876],{"title":855,"path":856,"stem":857},{"title":861,"path":862,"stem":863},"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":865,"path":866,"stem":867},"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":869,"path":870,"stem":871},"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":873,"path":874,"stem":875},"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":877,"path":719,"stem":878},"EXP35-PL. Use the correct operator type for comparing values","7.sei-cert-perl-coding-standard\u002F3.rules\u002F3.expressions-exp\u002F6.exp35-pl",{"title":765,"path":880,"stem":881,"children":882},"\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",[883,884],{"title":765,"path":880,"stem":881},{"title":885,"path":886,"stem":887},"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":889,"path":890,"stem":891,"children":892},"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",[893,894,898,902,906,910,914],{"title":889,"path":890,"stem":891},{"title":895,"path":896,"stem":897},"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":899,"path":900,"stem":901},"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":903,"path":904,"stem":905},"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":907,"path":908,"stem":909},"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":911,"path":912,"stem":913},"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":915,"path":916,"stem":917},"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":919,"path":732,"stem":920},"Integers (INT)","7.sei-cert-perl-coding-standard\u002F3.rules\u002F6.integers-int",{"title":922,"path":923,"stem":924,"children":925},"Miscellaneous (MSC)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fmiscellaneous-msc","7.sei-cert-perl-coding-standard\u002F3.rules\u002F7.miscellaneous-msc\u002F1.index",[926,927,931],{"title":922,"path":923,"stem":924},{"title":928,"path":929,"stem":930},"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":932,"path":933,"stem":934},"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":936,"path":937,"stem":938,"children":939},"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",[940,941],{"title":936,"path":937,"stem":938},{"title":942,"path":943,"stem":944},"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":946,"path":947,"stem":948,"children":949},"Strings (STR)","\u002Fsei-cert-perl-coding-standard\u002Frules\u002Fstrings-str","7.sei-cert-perl-coding-standard\u002F3.rules\u002F9.strings-str\u002F1.index",[950,951,955],{"title":946,"path":947,"stem":948},{"title":952,"path":953,"stem":954},"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":956,"path":957,"stem":958},"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":960,"path":961,"stem":962,"children":963},"Recommendations","\u002Fsei-cert-perl-coding-standard\u002Frecommendations","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F1.index",[964,965,994,1021,1032,1045,1058,1083,1096],{"title":960,"path":961,"stem":962},{"title":837,"path":966,"stem":967,"children":968},"\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",[969,970,974,978,982,986,990],{"title":837,"path":966,"stem":967},{"title":971,"path":972,"stem":973},"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":975,"path":976,"stem":977},"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":979,"path":980,"stem":981},"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":983,"path":984,"stem":985},"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":987,"path":988,"stem":989},"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":991,"path":992,"stem":993},"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":855,"path":995,"stem":996,"children":997},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fexpressions-exp","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F3.expressions-exp\u002F1.index",[998,999,1003,1007,1011,1015,1019,1020],{"title":855,"path":995,"stem":996},{"title":1000,"path":1001,"stem":1002},"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":1004,"path":1005,"stem":1006},"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":1008,"path":1009,"stem":1010},"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":1012,"path":1013,"stem":1014},"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":1016,"path":1017,"stem":1018},"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":761,"path":762,"stem":763},{"title":30,"path":755,"stem":757},{"title":765,"path":766,"stem":767,"children":1022},[1023,1024,1028],{"title":765,"path":766,"stem":767},{"title":1025,"path":1026,"stem":1027},"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":1029,"path":1030,"stem":1031},"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":889,"path":1033,"stem":1034,"children":1035},"\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",[1036,1037,1041],{"title":889,"path":1033,"stem":1034},{"title":1038,"path":1039,"stem":1040},"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":1042,"path":1043,"stem":1044},"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":919,"path":1046,"stem":1047,"children":1048},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fintegers-int","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F6.integers-int\u002F1.index",[1049,1050,1054],{"title":919,"path":1046,"stem":1047},{"title":1051,"path":1052,"stem":1053},"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":1055,"path":1056,"stem":1057},"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":922,"path":1059,"stem":1060,"children":1061},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fmiscellaneous-msc","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F7.miscellaneous-msc\u002F1.index",[1062,1063,1067,1071,1075,1079],{"title":922,"path":1059,"stem":1060},{"title":1064,"path":1065,"stem":1066},"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":1068,"path":1069,"stem":1070},"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":1072,"path":1073,"stem":1074},"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":1076,"path":1077,"stem":1078},"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":1080,"path":1081,"stem":1082},"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":936,"path":1084,"stem":1085,"children":1086},"\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",[1087,1088,1092],{"title":936,"path":1084,"stem":1085},{"title":1089,"path":1090,"stem":1091},"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":1093,"path":1094,"stem":1095},"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":946,"path":1097,"stem":1098},"\u002Fsei-cert-perl-coding-standard\u002Frecommendations\u002Fstrings-str","7.sei-cert-perl-coding-standard\u002F4.recommendations\u002F9.strings-str",{"title":1100,"path":1101,"stem":1102,"children":1103},"Back Matter","\u002Fsei-cert-perl-coding-standard\u002Fback-matter","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F1.index",[1104,1105,1109,1139],{"title":1100,"path":1101,"stem":1102},{"title":1106,"path":1107,"stem":1108},"AA. Bibliography","\u002Fsei-cert-perl-coding-standard\u002Fback-matter\u002Faa-bibliography","7.sei-cert-perl-coding-standard\u002F5.back-matter\u002F2.aa-bibliography",{"title":1110,"path":1111,"stem":1112,"children":1113},"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",[1114,1115,1119,1123,1127,1131,1135],{"title":1110,"path":1111,"stem":1112},{"title":1116,"path":1117,"stem":1118},"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":1120,"path":1121,"stem":1122},"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":1124,"path":1125,"stem":1126},"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":1128,"path":1129,"stem":1130},"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":1132,"path":1133,"stem":1134},"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":1136,"path":1137,"stem":1138},"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":1140,"path":1141,"stem":1142},"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",1775657795065]