+ -
当前位置:首页 → 问答吧 → 求助!perl抓取匹配行的下一行字符

求助!perl抓取匹配行的下一行字符

时间:2010-08-28

来源:互联网

各位大牛们,小弟会一点入门级perl语言,有一个问题想请教大家:
我想知道,perl对变量的模式匹配是如何操作的,例如,我有一个文件,里面数据的格式如下
javascript:;
数据名称为>后面的那些字符,我有一个文件,全是数据名称,我想提取出那些匹配的数据名称下面的字符(ttacg之类的),自己弄了个难看的脚本如下
#!/usr/bin/perl

if (@ARGV < 2)
               {
               die "usage: outputseq See script for details.\n";
               }
open(LOCI, "$ARGV[0]") || die "usage: outputseq location file \nCan not open the seq_file $ARGV[0].\nSee script for details.\n";
open(DNASEQ, "$ARGV[1]") || die "usage: genome seq file \nCan not open the seq_file $ARGV[1].\nSee script for details.\n";            

while($seq=<LOCI>)
{   @seq=split(/\s+/,$seq);
   $name=$seq[1];
for($info=<DNASEQ>)
   {  
   if($info=~/$name/)
      {
    print "$info";
    $info=<DNASEQ>;
    print $info;
    last;
      }
   }
}
close LOCI;
close DNASEQ;
结果总是弄不出来,不得已请教各位,希望大家能帮我看看,非常感谢!

1.png (41.34 KB)

下载次数:0

2010-08-28 11:41

作者: xp198766   发布时间: 2010-08-28

你可以先建一个哈希,将所有的数据名称作为key。然后再打开另一个文件,一行一行读,如果存在这个key,就打印出来。这样就得到你想要的数据了。

作者: huangfei777528   发布时间: 2010-08-28

非常感谢!
思路我清楚了,我对hash还不够了解,感觉不知道如何实现,能给点提示吗?举个例子可以吗?
谢谢!

作者: xp198766   发布时间: 2010-08-28



QUOTE:
非常感谢!
思路我清楚了,我对hash还不够了解,感觉不知道如何实现,能给点提示吗?举个例子可以吗?
谢 ...
xp198766 发表于 2010-08-28 15:02




    看小骆驼·

作者: wfnh   发布时间: 2010-08-28



QUOTE:
看小骆驼·
wfnh 发表于 2010-08-28 15:37




    恩,一定会看的,就是现在有个小问题,想请教各位…能给个例子吗?非常感谢!

作者: xp198766   发布时间: 2010-08-28