濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > perl 變量 $/ 的用法解析 上下文為行模式時(shí),$/ 定義以什么來(lái)區(qū)分行

perl 變量 $/ 的用法解析 上下文為行模式時(shí),$/ 定義以什么來(lái)區(qū)分行

熱門標(biāo)簽:惠州龍門400電話要怎么申請(qǐng) 萬(wàn)利達(dá)百貨商場(chǎng)地圖標(biāo)注 上海企業(yè)外呼系統(tǒng) 河南虛擬外呼系統(tǒng)公司 外呼電信系統(tǒng) okcc外呼系統(tǒng)怎么調(diào)速度 電話機(jī)器人哪里有賣 智能機(jī)器人電銷神器 熱門電銷機(jī)器人
默認(rèn)狀態(tài)下,很顯然都是用\n來(lái)區(qū)分行,\n也被我們稱作為換行符。
當(dāng)讀取序列時(shí),按行來(lái)讀取時(shí),就是以換行符為標(biāo)準(zhǔn)。

讀取的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è)就是沒(méi)有任何的改動(dòng)的情況,也就是默認(rèn)的每次讀取一行,結(jié)果如下:
F:\&;perl\b.pl
LOCUS JX118024 460 bp DNA linear PLN 25-SEP-2012

如果我們對(duì)$/的值給改變一下,按照我們文件的特征,我們先改動(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

C:\Documents and Settings\Administrator>

同樣我們也可以完全拋棄傳統(tǒng)意義上的行,例如,我們以例子中的第五行的ACCESSION為分隔符:

復(fù)制代碼 代碼如下:

#!/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:\&;

再來(lái)看一個(gè)例子:以/\n為分隔符:

復(fù)制代碼 代碼如下:

#!/bin/perl
my $record =' ';
open (DNAFILENAME,'f:\\perl\\strawberry1.gb')||die("can not open the file!");
$/="/\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:\&;

為什么沒(méi)有匹配到第一個(gè)/ 呢?

其實(shí)這里/這一行并不是僅僅有一個(gè)/,而是還有其他的成分在這里,我們把這一行完全刪除,然后重新只輸入一個(gè)/,我們?cè)賮?lái)匹配
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.
/

F:\&;
這次就得到正確的結(jié)果了。

標(biāo)簽:綿陽(yáng) 百色 秦皇島 周口 合肥 周口 淮安 綏化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《perl 變量 $/ 的用法解析 上下文為行模式時(shí),$/ 定義以什么來(lái)區(qū)分行》,本文關(guān)鍵詞  perl,變量,的,用法,解析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《perl 變量 $/ 的用法解析 上下文為行模式時(shí),$/ 定義以什么來(lái)區(qū)分行》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于perl 變量 $/ 的用法解析 上下文為行模式時(shí),$/ 定義以什么來(lái)區(qū)分行的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    达孜县| 特克斯县| 图们市| 安陆市| 广饶县| 瑞丽市| 莱芜市| 秀山| 永德县| 金门县| 广河县| 稻城县| 黄骅市| 宜昌市| 滦平县| 兴安县| 湾仔区| 新绛县| 丁青县| 且末县| 台北市| 昌江| 邯郸县| 竹溪县| 巫山县| 涪陵区| 公安县| 万安县| 长子县| 英超| 略阳县| 永福县| 友谊县| 南和县| 噶尔县| 遂川县| 洪雅县| 应用必备| 安阳市| 嘉黎县| 慈溪市|