讀取的strawberry1.gb的文件內(nèi)容如下: LOCUS JX118024 460 bp DNA linear PLN 25-SEP-2012 DEFINITION Fragaria vesca subsp. americana RNA polymerase beta subunit (rpoC1) gene, partial cds; plastid. / ACCESSION JX118024 // VERSION JX118024.1 GI:402238751 KEYWORDS . how /// SOURCE plastid Fragaria vesca subsp. americana
第一個(gè)例子:默認(rèn)情況
復(fù)制代碼 代碼如下:
#!/bin/perl my $record =' '; open (DNAFILENAME,'f://perl//strawberry1.gb')||die("can not open the file!"); $record = <DNAFILENAME>; print $record;
這個(gè)就是沒有任何的改動(dòng)的情況,也就是默認(rèn)的每次讀取一行,結(jié)果如下: F:/>perl/b.pl LOCUS JX118024 460 bp DNA linear PLN 25-SEP-2012
如果我們對$/的值給改變一下,按照我們文件的特征,我們先改動(dòng)為$/=“////n;
復(fù)制代碼 代碼如下:
#!/bin/perl my $record =' '; open (DNAFILENAME,'f://perl//strawberry1.gb')||die("can not open the file!"); $/="http:////n"; $record = <DNAFILENAME>; print $record;
我們得到的結(jié)果如下: F:/>perl/b.pl LOCUS JX118024 460 bp DNA linear PLN 25-SEP-2012 DEFINITION Fragaria vesca subsp. americana RNA polymerase beta subunit (rpoC1) gene, partial cds; plastid. / ACCESSION JX118024 // VERSION JX118024.1 GI:402238751 KEYWORDS . how ///
我們可以看到在這里,這一行是以///為分隔符的,///以上的整個(gè)部分都被看成一行。
同樣不僅是字符可以作為分隔符,字母也可以,加入我們以how為分隔符,$/="how/n";
復(fù)制代碼 代碼如下:
#!/bin/perl my $record =' '; open (DNAFILENAME,'f://perl//strawberry1.gb')||die("can not open the file!"); $/="how/n"; $record = <DNAFILENAME>; print $record;
結(jié)果如下: C:/Documents and Settings/Administrator>f:perl/b.pl LOCUS JX118024 460 bp DNA linear PLN 25-SEP-2012 DEFINITION Fragaria vesca subsp. americana RNA polymerase beta subunit (rpoC1) gene, partial cds; plastid. / ACCESSION JX118024 // VERSION JX118024.1 GI:402238751 KEYWORDS . how
#!/bin/perl my $record =' '; open (DNAFILENAME,'f://perl//strawberry1.gb')||die("can not open the file!"); $/="ACCESSION"; $record = <DNAFILENAME>; print $record;
結(jié)果如下: F:/>perl/b.pl LOCUS JX118024 460 bp DNA linear PLN 25-SEP-2012 DEFINITION Fragaria vesca subsp. americana RNA polymerase beta subunit (rpoC1) gene, partial cds; plastid. / ACCESSION F:/>
再來看一個(gè)例子:以//n為分隔符:
復(fù)制代碼 代碼如下:
#!/bin/perl my $record =' '; open (DNAFILENAME,'f://perl//strawberry1.gb')||die("can not open the file!"); $/="http://n"; $record = <DNAFILENAME>; print $record;
我們期望的結(jié)果應(yīng)該是配匹到第四行以前的內(nèi)容為一行,但是結(jié)果是否如此? F:/>perl/b.pl LOCUS JX118024 460 bp DNA linear PLN 25-SEP-2012 DEFINITION Fragaria vesca subsp. americana RNA polymerase beta subunit (rpoC1) gene, partial cds; plastid. / ACCESSION JX118024 //
F:/>
為什么沒有匹配到第一個(gè)/ 呢?
其實(shí)這里/這一行并不是僅僅有一個(gè)/,而是還有其他的成分在這里,我們把這一行完全刪除,然后重新只輸入一個(gè)/,我們再來匹配 F:/>perl/b.pl LOCUS JX118024 460 bp DNA linear PLN 25-SEP-2012 DEFINITION Fragaria vesca subsp. americana RNA polymerase beta subunit (rpoC1) gene, partial cds; plastid. /