0
|
1 @list = (1,2,3,4);
|
|
2 foreach $val(@list){
|
|
3 print "$val";
|
|
4 }
|
|
5 print "\n";
|
|
6 shuffle(\@list);
|
|
7 foreach $val(@list){
|
|
8 print "$val";
|
|
9 }
|
|
10
|
|
11 open SOURCE, "< cis4cluster.txt";
|
|
12 open OUT, "> shuffled.txt";
|
|
13 while (defined($line = <SOURCE>)) {
|
|
14 chomp $line;
|
|
15 @field= split(/\t/, $line);
|
|
16 $name = shift(@field);
|
|
17 shuffle(\@field);
|
|
18 print OUT "$name";
|
|
19 foreach $val(@field) {
|
|
20 print OUT "\t$val";
|
|
21 }
|
|
22 print OUT "\n";
|
|
23 }
|
|
24
|
|
25 sub shuffle {
|
|
26 my $array = shift;
|
|
27 my $i;
|
|
28 for ($i = @$array; --$i; ) {
|
|
29 my $j = int rand ($i+1);
|
|
30 next if $i == $j;
|
|
31 @$array[$i,$j] = @$array[$j,$i];
|
|
32 }
|
|
33 }
|
|
34
|