in reply to rand with Perl/Tk

It shouldn't. However, there's something to say about srand. Since you don't include any code, I can only guess what is going wrong. My guess is that you are doing something like:
sub button_press { srand(time|$$); my $rand = rand(); ... display $rand ... }
That's bad. Really bad. You shouldn't be calling srand more than once in your program, and for any Perl produced in the last 6 years or so, there's no need to call srand at all (unless you want a particular sequence). However, calling srand with a decent seed should still produce different numbers - if only because the seed is different. But time|$$ is a really lousy seed. Depending on the value of $$, it might take a while before time|$$ actually produces a different value. And that results in getting the same value from rand. The fact your console program gives different values comes because $$ changes. But then you still should see the same number reappear every once in a while.