Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse3pm
Don't write long "if-elsif-elsif-elsif-elsif...else" chains.
Affiliation
This Policy is part of the core Perl::Critic distribution.
Overview
Long "if-elsif" chains are hard to digest, especially if they are longer than a single page or screen. If testing for equality, use a hash lookup instead.
if ($condition1) { #ok$foo = 1;}elsif ($condition2) { #ok$foo = 2;}elsif ($condition3) { #ok$foo = 3;}elsif ($condition4) { #too many!$foo = 4;}else { #ok$foo = $default;}
Configuration
This policy can be configured with a maximum number of "elsif" alternatives to allow. The default is 2. This can be specified via a "max_elsif" item in the .perlcriticrc file:
[ControlStructures::ProhibitCascadingIfElse]max_elsif = 3
Releases
10 releases since Debian 5.0 (Lenny); the text changed 9 times.