看板 Perl 關於我們 聯絡資訊
這次跟上次的很類似, 這次可以正確的抓出$seq,但是算出來的值卻不對, 甚至還出現8.199999這種類似除不盡的值, 是在第一次split時出了問題嗎? 麻煩大家在幫我看一下吧,謝謝 RT2連結http://www.badongo.com/file/7330381 use Cwd; $dir=cwd; open inf, "<$dir/RT2.txt"; open out, ">$dir/RT2_out.txt"; %h = ( W=> 11.0, F=> 10.5, L=> 9.6, I=> 8.4, M=> 5.8, V=> 5.0, Y=> 4.0, A=> 0.8, T=> 0.4, P=> 0.2, E=> 0.0, D=> -0.5, C=> -0.8, S=>-0.8, Q=> -0.9, G=>-0.9, N=>-1.2, R=>-1.3, H=>-1.3, K=>-1.9 ); while(<inf>){ chomp; @A=($a, $b, $seq)=split/\]|\[/; foreach $seq(@A){ $sum+=$h{$_} for split//, $seq; } print out "$seq $sum\n"; $sum=0; } close inf; close out; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.127.45
Evenni:建議你在做完split/\]|\[/;後把$a,$b,$seq都印出來看一下 01/16 14:30
Evenni:在用print join("\t",@A); 看一下.. 01/16 14:33
Evenni:你就會知道foreach $seq的$seq 跟 @A=($a,$b,$seq)的$seq 01/16 14:35
Evenni:有什麼不同 01/16 14:36