| 查看: 280 | 回复: 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客户端 |
» 猜你喜欢
论文撤稿了
已经有8人回复
博士申请
已经有7人回复
青B发送上会通知了吗
已经有8人回复
化学专业申博
已经有4人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有3人回复
评审有感
已经有27人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有4人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有3人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有3人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有5人回复












回复此楼
10