Perl 文字檔的讀寫操作、檔案的重新命名和刪除、多個文字檔的合并實現代碼

來源:互聯網
上載者:User

讀檔案:

複製代碼 代碼如下:#!perl
open filetxt,"/path/a.txt"; # filetxt為檔案控制代碼,用於和檔案a.txt建立連結。檔案控制代碼可任意取名,但不要和Perl內建的幾個檔案控制代碼重名。
print <filetxt>; # 此處print函數用於顯示檔案a.txt的內容。<>為取行操作符,<檔案控制代碼>用於讀取所連結檔案的內容。
close filetxt; # 關閉檔案控制代碼filetxt。另一種關閉的方法是將其與其它檔案建立關聯,如:open filetxt,"b.txt";如此則與原來檔案a.txt的關聯自動關閉。

或者

複製代碼 代碼如下:#!perl
open filetxt,"<path/a.txt"; # < 用於從檔案中讀取內容,但是不能寫入任何內容到檔案中。< 與 什麼符號都不加 效果相同
while ($line=<filetxt>)
{
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".<b>."\n"; # 利用 . 進行字串的串連,此操作符必須
print a <c>."\n"; # <filehandle>表示讀取檔案控制代碼所連結的文字檔的內容
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 <b>; # 利用 . 進行字串的串連,此操作符必須
print a <c>; # <filehandle>表示讀取檔案控制代碼所連結的文字檔的內容
close a;
close b;
close c;

如果想要在合并文字檔後刪除文字檔 b.txt 和 c.txt ,可以在後面加上如下代碼:

unlink <b.txt>;
unlink <c.txt>;

或者

unlink "b.txt";
unlink "c.txt";

或者

unlink <b.txt>,<c.txt>;

或者

unlink "b.txt","c.txt";

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.