一応、例として。

悪い例:
foreach(0 .. 100){
  srand(time);
  print rand(100);
}

正しい例:
srand(time);
foreach(0 .. 100){
  print rand(100);
}

srandは「乱数のスタート位置を決める」もの。
randは「スタート位置から決められた順番をなぞる」もの。
srandを何回もやれば、スタート位置が毎回戻るから、同じ結果にしかならんぞ。