use Smart::Dispatch; my $x = 40; my $tiers = dispatcher { match [0..9, 50..59], dispatch { 0 }; match [10..19, 60..69], dispatch { 1 }; match [20..29, 70..79], dispatch { 2 }; match [30..39, 80..89], dispatch { 3 }; match [40..49, 90..99], dispatch { 4 }; }; say $tiers->($x);