Perl經(jīng)典用法:用Open()函數(shù)打開Perl文件
本文和大家重點討論一下Perl的經(jīng)典用法:用Open()函數(shù)打開Perl文件,open()函數(shù)通常帶有兩個參數(shù),***個為Perl文件句柄,用于指向打開的Perl文件,第二個參數(shù)是Perl文件名及模式(Perl文件的打開模式)的混雜體。
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文件句柄等等。
你該當(dāng)反省系統(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()的風(fēng)險,使得出錯信息不合時宜或不正確。
◆下面會出現(xiàn)虛偽的出錯信息
open(FH,"
ordie"Can'topen/var/log/file.podforwriting:$!";
【編輯推薦】
- Perl文件操作七大技巧揭秘
- 深入學(xué)習(xí)Perl文件系統(tǒng)用法
- Perl引用中直接引用用法解析
- 解析讀寫Perl文件的簡明步驟
- 技術(shù)分享 解析Perl模塊創(chuàng)建和導(dǎo)入方法