in reply to Not very perlish?

If the sum is greater than 100 I wish to favour amble, then pre, then post.

If the sum is less than 100, post takes up the slack;

i think this will do it. if amble is greater than 100, it's an error. otherwise, an array will be returned with the values as you specify above. i used the values directly from the @_ array, to make sure they were constant. if you have trouble, i can de-obfuscate it.

sub verify_percentile { my $tot = 100; $_[1] > $tot && die('out of range'); return $_[0] + $_[1] > $tot ? ( $tot - $_[1], $_[1], 0) : (@_[0,1], $tot - $_[0] - $_[1]); }

~Particle *accelerates*