perl应用:从NCBI提供的信息中获取需要的序列(下)use Scalar



use strict;
use warnings;

my $annotation =' ';
my $dna =' ';
my $record =' ';
my $save_input_separator =$/;

open (DNAFILENAME,'f:\\perl\\strawberry.gb')||die("can not open the file!");
$/ = "//\n";
$record = <DNAFILENAME>;
($annotation,$dna) = ($record=~/^(LOCUS.*ORIGIN\s*\n) (.*)\/\/\n/s);
print "$annotation \n\n\n$dna\n";

这里面关键就是用到了模式匹配:

($annotation,$dna) = ($record=~/^(LOCUS.*ORIGIN\s*\n) (.*)\/\/\n/s);

这一行表示,如果在$record中可以匹配到(Locus.*ORIGIN\s*\n)   和(.*)   那么就将第一个括号中的数值赋给$annotation,把第二个括号中匹配的内容赋给$dna.

另外一个就是$/这个变量的用法。

你可能感兴趣的:(perl应用:从NCBI提供的信息中获取需要的序列(下)use Scalar)