in reply to Efficiency & Maintenance: if/elsif or Other Dispatch Method

You can do this much more efficiently, O(1), by using a lookup table.

my @lookup = ( '00', map { ( $_->[2] ) x ( $_->[ 1 ] - $_->[ 0 ] ) } [ 0, 3, '00' ], [ 3, 7, '05' ], [ 7, 15, '10' ], [ 15, 25, '20' ], [ 25, 35, '30' ], [ 35, 45, '40' ], [ 45, 55, '50' ], [ 55, 65, '60' ], [ 65, 75, '70' ], [ 75, 85, '80' ], [ 85, 93, '90' ], [ 93, 97, '95' ], [ 97, 100, '99' ] ); print "@lookup"; $rv .= $lookup[ ((( $prob - 0.5 )*2 )+( $conf * 100 )) ];

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.