The presence of unused variables may indicate significant logic errors. To prevent such errors, unused values should be identified and removed from code.
This noncompliant code example contains a variable $new_name
that is initialized but never subsequently read.
sub fix_name { my $name = shift; my $new_name = $name; $name =~ s/^([a-z])/\U$1\E/g; $name =~ s/ ([a-z])/ \U$1\E/g; return $name; } |
This compliant solution eliminates the unused variable
sub fix_name { my $name = shift; $name =~ s/^([a-z])/\U$1\E/g; $name =~ s/ ([a-z])/ \U$1\E/g; return $name; } |
The presence of unused variables may indicate logic errors that can lead to unintended program behavior. As a result, resolving unused variables can be an in-depth process requiring significant analysis.
Recommendation | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
MSC01-PL | Low | Unlikely | High | P1 | L3 |
Tool | Diagnostic |
---|---|
Perl::Critic | Variables::ProhibitUnusedVariables |
SEI CERT C Coding Standard | MSC13-C. Detect and remove unused values |
---|---|
SEI CERT C++ Coding Standard | VOID MSC13-CPP. Detect and remove unused values |
[CPAN] | Elliot Shank, Perl-Critic-1.116 Variables::ProhibitUnusedVariables |
---|