首頁 >php教程 >PHP开发 >Perl的經典用法:用Sysopen()進行更多的控制

Perl的經典用法:用Sysopen()進行更多的控制

黄舟
黄舟原創
2016-12-16 13:52:522094瀏覽

為了更好的控製文件的打開方式,可以使用sysopen()函數:

useFcntl;

sysopen(FH,$filename,O_RDWR|O_CREAT,0666)

ordie"Can'topen$filenameforreading/writing/creating :$!";

函數sysopen()帶有四個參數,第一個是同open()函數類似的檔案句柄參數,第二個參數是不帶模式資訊的檔名,第三個參數是模式參數,由Fcntl模組提供的邏輯OR運算組合起來的常數構成,第四個參數(可選),為八進位屬性值(0666表示資料文件,0777表示程式)。如果檔案可以被打開,sysopen()傳回true,如果開啟失敗,則傳回false。

不同於open()函數,sysopen()不提供模式說明的簡寫方式,而是把一些常數組合起來,而且,每個模式常數有唯一的含義,只有透過邏輯OR運算才能將它們組合起來,你可以設定多個行為的組合。

O_RDONLYRead-only

O_WRONLYWrite-only

O_RDWRReadingandwriting

O_APPENDWritesg完成

O_EXCLErrorifthefilealreadyexisted(usedwithO_CREAT)

當你需要小心行事的時候,就使用sysopen()函數,例如,如果你打算將內容新增至文件中,如果文件不存在,不建立新文件,你可以這樣寫:

sysopen(LOG,"/var/log/myPRog.log",O_APPEND,0666)

ordie"Can' topen/var/log/myprog.logforappending:$!";

 以上就是Perl的經典用法:用Sysopen()進行更多的控制的內容,更多相關文章請關注PHP中文網(www.php.cn )!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn