溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Open()函數(shù)打開Perl文件

發(fā)布時間:2021-07-14 14:25:34 來源:億速云 閱讀:292 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹如何使用Open()函數(shù)打開Perl文件,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Perl的經(jīng)典用法:用Open()函數(shù)打開Perl文件

打開Perl文件的常用法子是:
open(FH,"<$filename")

ordie"Couldn'topen$filenameforreading:$!";

◆open()函數(shù)通常帶有兩個參數(shù),***個為Perl文件句柄,用于指向打開的Perl文件,第二個參數(shù)是Perl文件名及模式(Perl文件的打開模式)的混雜體,如果Perl文件被成功打開,open()函數(shù)返回true,否則為false。我們用“or”來該條件。

上述代碼中的模式由小于字符(<)來表現(xiàn)。如果Perl文件不存在,open()將返回false。此時,你可以讀Perl文件句柄,但不可以寫。

大于字符表現(xiàn)寫。如果Perl文件不存在,就會被創(chuàng)立。如果Perl文件存在,Perl文件被消除,以前的數(shù)據(jù)將會喪失。你可以寫入Perl文件句柄,但不可以讀入。

如果Perl文件不存在,就創(chuàng)立它

open(FH,">$filename")

ordie"Couldn'topen$filenameforwriting:$!";

如果Perl文件不存在,添加模式(用兩個大于符號表現(xiàn))可以用來創(chuàng)立新Perl文件,如果Perl文件存在,該模式并不會消除原本的數(shù)據(jù)。

同“<”或“讀”模式一樣,你只能對Perl文件句柄進行寫操作。(所以的寫入內(nèi)容都添加到Perl文件尾)。打算進行讀操作,會產(chǎn)生運行差錯。

open(FH,">>$filename")

ordie"Couldn'topen$filenameforappending:$!";

◆通過“+<”模式,你可以既可以讀Perl文件,又可以寫Perl文件。你可以通過tell()函數(shù)在Perl文件內(nèi)部移動,通過seek()函數(shù)進行定位。如果Perl文件不存在,就會被創(chuàng)立。如果Perl文件已經(jīng)存在,原本的數(shù)據(jù)不會被消除。

如果你籌劃消除原本的Perl文件內(nèi)容,或者自己調(diào)用truncate()函數(shù),或者使用“+>”模式。

open()函數(shù)通常帶有兩個參數(shù),***個為Perl文件句柄,用于指向打開的Perl文件,第二個參數(shù)是Perl文件名及模式(Perl文件的打開模式)的混雜體,注意“+<”和“+>”的差別,兩者都可以可讀可寫。前者為非毀壞性寫,后者為毀壞性寫。


差錯

差錯是如何出現(xiàn)的?很多處所都會出現(xiàn)差錯:如目錄不存在,Perl文件不可寫入,你的程序喪失了Perl文件句柄等等。

你該當反省系統(tǒng)調(diào)用的效果(如open()和sysopen()),看看是否調(diào)用成功。

為了贊助用戶查錯,通常應(yīng)用“ordie()”,你應(yīng)記住這些用法。首先,應(yīng)寫出系統(tǒng)調(diào)用失敗(“open”)的信息。其次,應(yīng)寫出Perl文件名的信息,以便修正錯誤時更容易地定位。第三,要寫出打開Perl文件的法子,(“forwriting,”“forappending”)。第四,輸出操作系統(tǒng)的出錯信息(包孕在$!中)。這樣,一旦出現(xiàn)Perl文件不能打開的問題,應(yīng)用你的程序的用戶會大體上知道為什么不能打開。有時,我們把***個和第三個合并在一起:

ordie"unabletoappendto$filename:$!";

如果在open()和出錯信息中都寫了Perl文件的全名,你會冒轉(zhuǎn)變了open()的風險,使得出錯信息不合時宜或不正確。

◆下面會出現(xiàn)虛偽的出錯信息
open(FH,"

ordie"Can'topen/var/log/file.podforwriting:$!";

關(guān)于如何使用Open()函數(shù)打開Perl文件就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI