Perl::...IfElse(3pm)

πŸ’… NAME πŸ’…

okay so this is the Perl::...IfElse(3pm) page from User Contributed Perl Documentation, and it's giving Perl::Critic policy realness. The actual policy name is Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse, and its whole vibe is: don't write long if-elsif-elsif-elsif-elsif...else chains. Periodt. 🫢

πŸ¦‹ AFFILIATION πŸ¦‹

This Policy is part of the core Perl::Critic distribution. It's already in the core lineup, bestie. ✨

🌸 DESCRIPTION 🌸

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. Lowkey iconic advice. πŸ’–

here's the visual so you can vibe check it:

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. You can set it with a max_elsif item in the .perlcriticrc file, like this:

[ControlStructures::ProhibitCascadingIfElse]
max_elsif = 3

That's the config moment, bestie. πŸ¦‹

πŸ‘‘ AUTHOR πŸ‘‘

Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>

Copyright (c) 2005-2022 Imaginative Software Systems. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.


okay bye bestie πŸ’– this was Perl::...IfElse(3pm) from perl v5.42.0, dated 2024-10-23. slay and use hash lookups responsibly πŸŽ€βœ¨

πŸ“¦ where this page comes from