in reply to Re: alternatives to if and series of elsif
in thread alternatives to if and series of elsif

use List::Util 'min'; sub compare { my ($points, $quota) = @_; my ($newquota) = int($points/2000) + 15; if ($newquota > $quota && $quota <= 24){ return min(24, $newquota); } return 15; }

For certain edge cases this compare gives results that differ from the OP's compare. For example, for points = 4000 and quota = 16, the original compare returns 15 while this one returns 17.

the lowliest monk