in reply to Re: biased random number picking
in thread biased random number picking

Since rand takes an expression as its argument and there are 101 elements in @values your code is equivalent to

my $i = int( rand(101) );

Replies are listed 'Best First'.
Re^3: biased random number picking
by RichardK (Parson) on Jul 12, 2012 at 15:11 UTC

    That's correct :)

    rand returns a value less than the expression so will return an index in the range 0..100. Which is just what we needed -- woot!

      I found your solution confusing since your array had 101 elements and so wouldn't work with the op's data. I realize now this was just a test array of junk values. Your solution works fine for your array of 101 elements since both indexes will be in the range 0..100. Putting the array inside the rand() function is a general solution in case the array size changes.