I prefer davidrw's map method, for this comparision, but in case anyone stumbles upon this and wants an alternative - you can use a hash instead:
my ($points, $quota) = @_;
my %compare = (
18000 => 24,
16000 => 23,
14000 => 22,
... );
for my $key (sort {$b <=> $a} keys %compare)
{
if ($points > $key and $quota < $compare{$key})
{
return $compare{key};
}
}
return 15;
Check out QM's reply for a better example
Update: it doesn't work for 16626 => 21, because it assumes the keys increment in conjuction with the values, which 16626 => 21 breaks. Added link.
"Cogito cogito ergo cogito sum - I think that I think, therefore I think that I am." Ambrose Bierce