Hmm - thanks all - you've hit the nail on the head. I'm running this on a Win98 machine using ActivePerl. The prizes go to all those who bet that way. Clearly ActivePerl has a screwy rand function, since the code works fine on the others (many many thanks to those above who tried it on another system and showed me that I'm not going insane). Is there a way to fix this in ActivePerl, or am I doomed to reduced probabilities?