Mercurial > repos > jesse-erdmann > tapdance
comparison lib/shuffle.pl @ 0:1437a2df99c0
Uploaded
author | jesse-erdmann |
---|---|
date | Fri, 09 Dec 2011 11:56:56 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1437a2df99c0 |
---|---|
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 |