in reply to Randomize elements among several arrays, while maintaining original array sizes.
Which produces different output every time, but here's one:my @arr1 = qw|10 22 24 21 20 12 32 31 91 20|; my @arr2 = qw|10 22 24 21 20 12 32 31 91 20 11 32 44 51 10 22 82 71 61 + 54|; my @arr3 = qw|14 25 64 71 80|; my @arrays = (\@arr1, \@arr2, \@arr3); foreach my $arrref (@arrays) { for (0..@$arrref - 1) { my $indx = (int(rand()*100)%@$arrref); my $swap = $arrref->[$indx]; $arrref->[$indx] = $arrref->[$_]; $arrref->[$_] = $swap; } } print q|ARR->1 | . join qq| |,@arr1; print qq|\nARR->2 | . join qq| |,@arr2; print qq|\nARR->3 | . join qq| |,@arr3;
I think you need to use perldoc -f on rand, push. Also, look up the use of the modulus operator %.ARR->1 31 10 20 20 12 24 32 22 91 21 ARR->2 32 71 10 24 22 10 61 22 44 12 21 20 31 + 91 11 54 51 82 32 20 ARR->3 80 25 64 71 14
Celebrate Intellectual Diversity
|
|---|