use strict; use warnings; my (@arr, $seed, $max, $prime, $input, $result); @arr = 1..10; $seed = 5; $max = $#arr+1; $prime = 65521; for $input (0..($max-1)) { $result = ($prime * $input + $seed) % $max; print $arr[$result], " "; }