| 查看: 285 | 回复: 1 | |||
[交流]
【求助】急!!!请教高手看一下perl程序里的循环问题?
|
|
为什么my $scafmatch =$allterm[7] - $allterm[6]不循环?之前的程序测试都对!急啊!!谢谢! #!/usr/bin/perl -w 2 use strict; 3 unless (@ARGV == 3) { 4 die "please check your input files and output files"; 5 } 6 open IN,$ARGV[0] or die "$!\n"; 7 open FILE,$ARGV[1] or die "$!\n"; 8 open OUT,">$ARGV[2]" or die "$!\n"; 9 our @array; 10 $/ = ">"; 11 12 while( 13 chomp; 14 my @all = split /\n/,$_; 15 my $name = shift(@all); 16 my @term = split /\s+/,$name; 17 my $scafname = shift (@term); 18 my $scaf = join "",@all; 19 my @base = split //,$scaf; 20 my $num = 0; 21 for my $i(@base) { 22 if ($i =~/[ATGCN]/) { 23 $num++; 24 } 25 } 26 # print OUT $scafname,"\t",$num,"\n"; 27 my @quary = ($scafname,$num); 28 push @array,[@quary]; 29 } 30 close IN; 31 LABLE: while ( 32 chomp; 33 my @allterm = split /\s+/,$_; 34 my $a = ""; 35 my $rate = 0; 36 next LABLE if ($a eq $allterm[0]); 37 my $scafmatch = $allterm[7] - $allterm[6]; 38 for my $i(0 ..$#array) { 39 if ($array[$i][0] eq $allterm[0] ) { 40 $rate = ( $scafmatch / $array[$i][1]); 41 } 42 print OUT $array[$i][0],"\t",$array[$i][1],"\t","the rate 0f match:\t",$rate,"\n"; 43 $a = $allterm[0]; } 45 } 46 close FILE; 47 close OUT; [ Last edited by nono2009 on 2010-8-19 at 07:07 ] |
» 猜你喜欢
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
假如你的研究生提出不合理要求
已经有7人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
2楼2010-08-19 01:30:36












回复此楼