婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > perl 變量 $/ 的用法解析 上下文為行模式時,$/ 定義以什么來區分行

perl 變量 $/ 的用法解析 上下文為行模式時,$/ 定義以什么來區分行

熱門標簽:惠州龍門400電話要怎么申請 萬利達百貨商場地圖標注 上海企業外呼系統 河南虛擬外呼系統公司 外呼電信系統 okcc外呼系統怎么調速度 電話機器人哪里有賣 智能機器人電銷神器 熱門電銷機器人
默認狀態下,很顯然都是用\n來區分行,\n也被我們稱作為換行符。
當讀取序列時,按行來讀取時,就是以換行符為標準。

讀取的strawberry1.gb的文件內容如下:
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;


這個就是沒有任何的改動的情況,也就是默認的每次讀取一行,結果如下:
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;


我們得到的結果如下:
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;


結果如下:
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>

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

復制代碼 代碼如下:

#!/bin/perl
my $record =' ';
open (DNAFILENAME,'f:\\perl\\strawberry1.gb')||die("can not open the file!");
$/="ACCESSION";
$record = DNAFILENAME>;
print $record;


結果如下:
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:\&;

再來看一個例子:以/\n為分隔符:

復制代碼 代碼如下:

#!/bin/perl
my $record =' ';
open (DNAFILENAME,'f:\\perl\\strawberry1.gb')||die("can not open the file!");
$/="/\n";
$record = DNAFILENAME>;
print $record;


我們期望的結果應該是配匹到第四行以前的內容為一行,但是結果是否如此?
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:\&;

為什么沒有匹配到第一個/ 呢?

其實這里/這一行并不是僅僅有一個/,而是還有其他的成分在這里,我們把這一行完全刪除,然后重新只輸入一個/,我們再來匹配
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:\&;
這次就得到正確的結果了。

標簽:綿陽 百色 秦皇島 周口 合肥 周口 淮安 綏化

巨人網絡通訊聲明:本文標題《perl 變量 $/ 的用法解析 上下文為行模式時,$/ 定義以什么來區分行》,本文關鍵詞  perl,變量,的,用法,解析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《perl 變量 $/ 的用法解析 上下文為行模式時,$/ 定義以什么來區分行》相關的同類信息!
  • 本頁收集關于perl 變量 $/ 的用法解析 上下文為行模式時,$/ 定義以什么來區分行的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 清水县| 宁海县| 昌都县| 普宁市| 广灵县| 丽水市| 宁远县| 兴国县| 合阳县| 大田县| 松阳县| 长宁县| 张家口市| 灵璧县| 嘉荫县| 泸水县| 年辖:市辖区| 庐江县| 云南省| 洪湖市| 兴安县| 阿瓦提县| 平武县| 紫阳县| 登封市| 嘉黎县| 拉孜县| 会理县| 兰西县| 乐东| 定远县| 璧山县| 乐昌市| 临夏市| 汉川市| 化州市| 德阳市| 桓台县| 溧水县| 贺兰县| 祁连县|