perl 變量 $/ 的用法解析 上下文為行模式時,$/ 定義以什么來區(qū)分
2020-06-04 20:30:10
供稿:網(wǎng)友
默認狀態(tài)下,很顯然都是用/n來區(qū)分行,/n也被我們稱作為換行符。
當(dāng)讀取序列時,按行來讀取時,就是以換行符為標(biāo)準。
讀取的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
第一個例子:默認情況
代碼如下:
#!/bin/perl
my $record =' ';
open (DNAFILENAME,'f://perl//strawberry1.gb')||die("can not open the file!");
$record = <DNAFILENAME>;
print $record;
這個就是沒有任何的改動的情況,也就是默認的每次讀取一行,結(jié)果如下:
F:/>perl/b.pl
LOCUS JX118024 460 bp DNA linear PLN 25-SEP-2012
如果我們對$/的值給改變一下,按照我們文件的特征,我們先改動為$/=“////n;
代碼如下:
#!/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
///
我們可以看到在這里,這一行是以///為分隔符的,///以上的整個部分都被看成一行。
同樣不僅是字符可以作為分隔符,字母也可以,加入我們以how為分隔符,$/="how/n";
代碼如下:
#!/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
C:/Documents and Settings/Administrator>
同樣我們也可以完全拋棄傳統(tǒng)意義上的行,例如,我們以例子中的第五行的ACCESSION為分隔符:
代碼如下:
#!/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:/>