讀文件:
#!perl open filetxt,"/path/a.txt"; # filetxt為文件句柄,用于和文件a.txt建立鏈接。文件句柄可任意取名,但不要和Perl自帶的幾個文件句柄重名。 print ; # 此處print函數用于顯示文件a.txt的內容。<>為取行操作符,<文件句柄>用于讀取所鏈接文件的內容。 close filetxt; # 關閉文件句柄filetxt。另一種關閉的方法是將其與其它文件建立關聯,如:open filetxt,"b.txt";如此則與原來文件a.txt的關聯自動關閉。
或者
#!perl open filetxt,"while ($line=) { print $line; ) close filetxt;
寫文件:
在 open 一行中將 < 更改為 > 或 >> ,即可向文件中寫入內容。如:
#!perl open TXT,">a.txt"; print TXT "夢里不知身是客,\n"; # 如果文件a.txt存在,則其內容會被取代 print TXT "一晌貪歡。\n"; # 該行內容會附加到第二行 close TXT; [code]
或者
#!perl open TXT,">>a.txt"; print TXT "獨自莫憑欄,無限江山,別時容易見時難。\n"; # 如果文件a.txt已存在,該行內容會被附加到已存在文件的后面 close TXT;
<,從文件中讀取內容,但是不能輸出到文件里任何內容。如果什么都不加的清況下讀文件狀況會同加上“<”的效果一樣。 >,將內容輸出到文件中,并將原有文件中的內容清空。 >>,將內容追加到文件中,不會清空原有文件中的內容。
文件的重命名和刪除:
rename:將文件重命名
#!perl rename "a.txt","b.txt"; # 或者 rename "a.txt","a.bat";
unlink:等同于rm,刪除系統中的某些文件
#!perl my @files=<*.txt>; # 或者 my @files=glob "*.txt"; unlink @files;
或者
#!perl unlink glob "*.txt";
或者
#!perl unlink <*.txt>;
多個文本文件的合并:
在Perl中,可以按照如下方式合并多個文本文件:
#!perl open a,">a.txt"; print a "四十年來家國,三千里地山河。"; open b,">b.txt"; print b "鳳閣龍樓連霄漢,玉樹瓊枝作煙蘿。"; open c,">c.txt"; print c "幾曾識干戈?"; # 分別建立文本文件 a.txt、b.txt和c.txt,并執行寫入操作 close a; close b; close c; # 關閉對應的文件句柄(filehandle) open a,">>a.txt"; open b, "b.txt"; open c, "c.txt"; # 重新建立文件關聯,其中 a.txt 執行附加寫入操作,其它兩個文件執行讀文件操作 print a "\n".."\n"; # 利用 . 進行字符串的連接,此操作符必須 print a ."\n"; # 表示讀取文件句柄所鏈接的文本文件的內容 close a; close b; close c; [code] 或者 [code] #!perl open a,">a.txt"; print a "四十年來家國,三千里地山河。\n"; open b,">b.txt"; print b "鳳閣龍樓連霄漢,玉樹瓊枝作煙蘿。\n"; # 生成文件并寫入內容時,即執行換行操作,讓光標留在下一行 open c,">c.txt"; print c "幾曾識干戈?\n"; # 分別建立文本文件 a.txt、b.txt和c.txt,并執行寫入操作 close a; close b; close c; # 關閉對應的文件句柄(filehandle) open a,">>a.txt"; open b, "b.txt"; open c, "c.txt"; # 重新建立文件關聯,其中 a.txt 執行附加寫入操作,其它兩個文件執行讀文件操作 print a ; # 利用 . 進行字符串的連接,此操作符必須 print a ; # 表示讀取文件句柄所鏈接的文本文件的內容 close a; close b; close c;
如果想要在合并文本文件后刪除文本文件 b.txt 和 c.txt ,可以在后面加上如下代碼:
unlink ; unlink ;
或者
unlink "b.txt"; unlink "c.txt";
或者
unlink ,;
或者
unlink "b.txt","c.txt"; |