Dunno why the Perl language did not include some form of switch in any of its incarnations, but I also do not care for the various graft-on implementations that try to provide it. Corion’ suggestion to use a dispatch table ... which is simply an array or hash of subrefs ... is a good one. Otherwise, frankly, I would just knuckle down and make peace with if...elsif..elsif.... If you are careful to spin-off the various cases into separate subs, for clarity, it actually is about as sweet as the (syntactic ...) sugar.