| 查看: 253 | 回复: 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客户端 |
» 猜你喜欢
售SCI一区文章,我:8 O5 51O 54,科目齐全,可+急
已经有3人回复
售SCI一区文章,我:8 O5 51O 54,科目齐全,可+急
已经有3人回复
售SCI一区文章,我:8 O5 51O 54,科目齐全,可+急
已经有3人回复
基金正文30页指的是报告正文还是整个申请书
已经有4人回复
今年春晚有几个节目很不错,点赞!
已经有6人回复
球磨粉体时遇到了大的问题,请指教!
已经有15人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有5人回复
情人节自我反思:在爱情中有过遗憾吗?
已经有5人回复
江汉大学解明教授课题组招博士研究生/博士后
已经有3人回复













回复此楼