免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2546 | 回复: 3
打印 上一主题 下一主题

似乎由于换行符的存在。。。此句不能被执行。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-28 16:34 |只看该作者 |倒序浏览
请问如果
$seq1 is
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNN

$seq2 is
ATGGATGAAGATGAATTTGAATTGCAGCCACAAGAGCCAAACTCATTTTT
TGATGGAATAGGAGCTGATGCTACACACATGGATGGTGATCAGATTGTTG
TGGAAATACAAGAAGCAGTTTTTGTTTCTAATATTGTGGATTCTGACATA
ACTGTGCATAACTTTGTTCCTGATGACCCAGACTCAGTTGTAATCCAAGA
TGTTGTTGAAGATGTTGTCATAGAGGAGGATGTTCAGTGCTCAGATATCT
TAGAAGAGGCAGATGTATCTGAAAATGTCATCATTCCTGAGCAAGTGCTG
GACTCAGATGTAACTGAAGAAGTTTCTTTACCACACTGCACAGTCCCAGA
TGATGTTTTAGCTTCTGACATTACTTCAACCTCAATGTCTATGCCAGAAC
ATGTTTTAACGAGTGAATCCATGCATGTGTGTGACATTGGACATGTTGAA
CATATGGTGCATGATAGTGTAGTGGAAGCAGAAATCATTACTGATCCTCT
GACGAGTGACATAGTTTCAGAAGAAGTATTGGTAGCAGACTGTGCCCCTG
AAGCAGTCATAGATGCCAGCGGGATCTCAGTGGACCAGCAAGATAATGAC
AAAGCCAGCTGTGAGGACTACCTAATGATTTCGTTGGATGATGCTGGCAA
AATAGAACATGATGGTTCCACTGGAGTGACCATCGATGCAGAATCAGAAA
TGGATCCTTGTAAAGTGGAT

然后如何执行 $out =~s/$seq1/$seq2/  ???? 似乎由于换行符的存在。。。此句不能被执行。。。。谢谢!!

论坛徽章:
0
2 [报告]
发表于 2011-06-28 17:06 |只看该作者
本帖最后由 newstudent2011 于 2011-06-28 17:10 编辑

不执行就是匹配不成功!

另外,你的字符里面是不是有特殊字符?有特殊字符会报错,你试试转义

$seq1 = qutomata($seq1);

$seq2 = qutomata($seq2);

$out =~s/$seq1/$seq2/


应该和换行符无关,\n \r都不算特殊字符

不过如果是windows 生成的txt数据,小心里面有隐藏的\r 很讨厌

你的文本里面也许不存在一摸样的$seq1,有隐藏字符在里面面,你length 一下就知道了

论坛徽章:
0
3 [报告]
发表于 2011-06-28 17:14 |只看该作者
my $len1 = length $seq1;
$seq1 =~ s/\r//g;
my $len2 = length $seq1;

print $len1;

print $len2

看看两个length 是否相等,干掉比尔盖茨的\r!

论坛徽章:
0
4 [报告]
发表于 2011-06-29 10:48 |只看该作者
回两楼. 应该是 quotemeta 吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP