[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Perl > 正文
Perl的經典用法:讀入段落
本文出自:www.zdnet.com.cn 作者:Nathan Torkington (2001-12-29 13:01:25)

$/ =""的寫法是用來指示Perl讀入段落的,段落是由兩個或兩個以上的 換行符構成的文本塊。這不同設置為"\n\n",者僅讀入由兩行組成的文本塊。 在這種情況下,將出現這樣一個問題:如果有連續的空行存在,例如“text\n\n\n\n”, 你既可以把它解釋為一個段落 ("text"),也可以解釋為兩個段落 ("text", 面 跟兩個換行符,以及一個空段落,面跟兩個空行。)

在讀入文本時,第二個解釋用途不大。如果你正在讀的段落出現上述情況,你不 必過濾出“空”段落。

$/ = "\n\n";

while () {

chomp;

next unless length; # 跳過空段

# ...

}

你可以把 $/設置為undef,它用讀入面跟著兩個或多個換行符組成的段落: undef $/;

while () {

chomp;

# ...

}

讀入整個文件

$/ 的其它有趣的值為undef。如果設置為該值,就將告訴Perl,讀命令將把文件 的剩余部分作為一個串返回:

undef $/;

$file = ;

因為改變了 $/的值,將會影響以的每次讀操作,而不僅是下一個讀操作。通常, 你需要將該操作限制在局部。通過下面的例子,可以把文件句柄的內容讀入到一個串中:

{

local $/ = undef;

$file = ;

}

記住:Perl變量可讀入很長的串。盡管你的文件大小不可以超出你的虛擬內存容 量的限度,你仍可以讀入盡可能多的數據。


(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
Perl的經典用法:用正則表達式對文件進行操作 (2001-12-29 13:02:04)
Perl的經典用法:讀入段落 (2001-12-29 13:01:25)
Perl的經典用法:讀入多個記錄 (2001-12-29 13:00:49)
Perl的經典用法:讀入單個記錄 (2001-12-29 13:00:27)
Perl的經典用法:用Sysopen()進行更多的控制 (2001-12-29 13:00:00)
Perl的經典用法:用Open()函數打開文件 (2001-12-29 12:58:44)
 

★  樊強制作 歡迎分享  ★