| 查看: 259 | 回复: 0 | ||
[求助]
关于perl中计算字符数的问题
|
|
这段代码用来计算一段氨基酸序列的长度: print "Type the filename of protein sequencedata that you want to search:\n"; $filename = <STDIN>; unless ( open(FILE, $filename)) { print "Cannot find the file.\n"; exit; } @protein = <FILE>; close FILE; $protein = join( '', @protein); $protein =~ s/\s//g; $count = ($protein =~ s/([a-z])/1/isg); print "The length of sequence is :", $count; 这一段测试有效且正确。 其中 $count = ($protein =~ s/([a-z])/1/isg); 这条代码是在查阅资料后写的。 但不明白其中的原理。 经测试, 当将代码$count = ($protein =~ s/([a-z])/1/isg)替换成$count = $protein或$count = ($protein)时,得到的结果都是一整段蛋白质序列而不是一个整数。理解是,这样直接将变量$protein的内容赋值到$count中了,没有计算。 当替换成$count = ('1','2','3','4','1')时,得到的结果是5。可见这里产生了计算。 但是,当$count = ($protein)时,不是可以近似看成$count = ('m','s','a','s',...);吗?为什么这样又不会产生计算了呢? 而经过($protein =~ s/([a-z])/1/isg)这条代码将字符替换一遍后,却能计算字符数了! 发自小木虫IOS客户端 |
» 猜你喜欢
316求调剂
已经有14人回复
chinese chemical letters英文版投稿求助
已经有6人回复
264分,求任意工科调剂
已经有5人回复
求生物学调剂
已经有9人回复
求调剂 302分初试 0854
已经有3人回复
交通运输考试264分求工科调剂
已经有3人回复
材料与化工306分找调剂
已经有8人回复
一志愿北京科技材料科学与工程288分,求调剂
已经有13人回复
413求调剂
已经有3人回复
319求调剂
已经有14人回复














回复此楼