Perl中讀寫檔案的方法非常簡單,可以使用open或sysopen函式來開啟檔案,linux下執行perl指令碼只需 ./XX.pl 或 perl XX.pl。
讀檔案
open(檔案控制程式碼, "<檔名");或者 open(檔案控制程式碼, "檔名");
如:open (IN, "./test.txt");
while (<IN>) {
chomp; #去掉換行符(/n);
print $_; #perl將每一行賦給“$_”這樣一個內建變數裡。
}
close(IN);
寫檔案
open(檔案控制程式碼, ">檔名"); #覆蓋原檔案的內容。
open(檔案控制程式碼, ">>檔名"); #追加寫入檔案。
如:open (OUT, "./result.txt");
my $str = "I love Perl.";
print OUT "$str\n";
close(OUT);
PS:在讀寫檔案時,經常伴有對字串的拆分,這時一個非常有用的函式是split函式,把字串分割並將結果存入陣列中,下面做簡單介紹:
perl的split函式使用正規表示式,未特定則工作在$_上。
用法:@array = split (/<reg>/, $line);或@array = split(/<reg>/);
如:$str="Caine:Michael:Actor:14,LeafyDrive";
@array=split(/:/,$str); #@array=("Caine","Michael","Actor","14,LeafyDrive");
- //之間表示split用到的正規表示式(或分隔法則);
- \s是一種常用的萬用字元,代表空格。
- +代表重複一次或者一次以上;
- 故\s+代表一個或者一個以上的空格;
-
字串比較用“eq” 和“ne”;
-
字串連線用 “.” 。
- 擷取字串:my $substr1=substr("I love Perl",2,5);#擷取第三個字元開始的5個字元,即“love ”;