亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

Perl文件讀取的經(jīng)典用法分享

2020-10-31 15:19:11
字體:
供稿:網(wǎng)友

用Open() 函數(shù)打開文件

打開文件的常用方法是:

復(fù)制代碼 代碼如下:

open(FH, "< $filename")
or die "Couldn't open $filename for reading: $!";

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

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

大于字符表示寫。如果文件不存在,就會(huì)被創(chuàng)建。如果文件存在,文件被清除,以前的數(shù)據(jù)將會(huì)丟失。你可以寫入文件句柄,但不可以讀入。

復(fù)制代碼 代碼如下:

# 如果文件不存在,就創(chuàng)建它
open(FH, "> $filename")
or die "Couldn't open $filename for writing: $!";

如果文件不存在,添加模式(用兩個(gè)大于符號(hào)表示)可以用來創(chuàng)建新文件,如果文件存在,該模式并不會(huì)清除原來的數(shù)據(jù)。

同“<”或“讀”模式一樣,你只能對(duì)文件句柄進(jìn)行寫操作。 (所以的寫入內(nèi)容都添加到文件尾)。企圖進(jìn)行讀操作,會(huì)產(chǎn)生運(yùn)行錯(cuò)誤。

復(fù)制代碼 代碼如下:

open(FH, ">> $filename")
or die "Couldn't open $filename for appending: $!";

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

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

復(fù)制代碼 代碼如下:

open(FH, "+> $filename")
or die "Couldn't open $filename for reading and writing: $!";

注意“+<”和“+>”的區(qū)別,兩者都可以可讀可寫。前者為非破壞性寫,后者為破壞性寫。

錯(cuò)誤

錯(cuò)誤是如何出現(xiàn)的?很多地方都會(huì)出現(xiàn)錯(cuò)誤:如目錄不存在,文件不可寫入,你的程序丟失了文件句柄等等。

你應(yīng)該檢查系統(tǒng)調(diào)用的結(jié)果 (如open() 和sysopen()),看看是否調(diào)用成功。

為了幫助用戶查錯(cuò),通常使用“or die()”,你應(yīng)記住這些用法。首先,應(yīng)寫出系統(tǒng)調(diào)用失敗(“open”)的信息。其次,應(yīng)寫出文件名的信息,以便修正錯(cuò)誤時(shí)更容易地定位。第三,要寫出打開文件的方式, (“for writing,”“for appending”)。第四,輸出操作系統(tǒng)的出錯(cuò)信息(包含在$!中)。這樣,一旦出現(xiàn)文件不能打開的問題,使用你的程序的用戶會(huì)大體上知道為什么不能打開。有時(shí),我們把第一個(gè)和第三個(gè)合并在一起:
or die "unable to append to $filename: $!";

如果在open() 和出錯(cuò)信息中都寫了文件的全名,你會(huì)冒改變了open() 的風(fēng)險(xiǎn),使得出錯(cuò)信息不合時(shí)宜或不正確。

復(fù)制代碼 代碼如下:

# 下面會(huì)出現(xiàn)虛假的出錯(cuò)信息
open(FH, "</var/run/file.pid")
or die "Can't open /var/log/file.pod for writing : $!";

用 Sysopen()進(jìn)行更多的控制
為了更好的控制文件的打開方式,可以使用 sysopen() 函數(shù):

復(fù)制代碼 代碼如下:

use Fcntl;
sysopen(FH, $filename, O_RDWR|O_CREAT, 0666)
or die "Can't open $filename for reading/writing/creating : $!";

函數(shù) sysopen() 帶有四個(gè)參數(shù),第一個(gè)是同open()函數(shù)類似的文件句柄參數(shù),第二個(gè)參數(shù)是不帶模式信息的文件名,第三個(gè)參數(shù)是模式參數(shù),由Fcntl 模塊提供的邏輯OR運(yùn)算組合起來的常數(shù)構(gòu)成,第四個(gè)參數(shù)(可選),為八進(jìn)制屬性值(0666表示數(shù)據(jù)文件, 0777表示程序)。如果文件可以被打開,sysopen() 返回true,如果打開失敗,則返回false。

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

O_RDONLYRead-only
O_WRONLY Write-only
O_RDWR Reading and writing
O_APPEND Writes go to the end of the file
O_TRUNC Truncate the file if it existed
O_CREAT Create the file if it didn't exist
O_EXCLError if the file already existed (used with O_CREAT)

當(dāng)你需要小心行事的時(shí)候,就使用sysopen() 函數(shù),例如,如果你打算添加內(nèi)容到文件中,如果文件不存在,不創(chuàng)建新文件,可以這樣寫:

復(fù)制代碼 代碼如下:

sysopen(LOG, "/var/log/myprog.log", O_APPEND, 0666)
or die "Can't open /var/log/myprog.log for appending: $!";

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久久久久久久久久久久久国产| 欧美一区二区女人| 欧美小视频在线观看| 国产字幕在线观看| 深夜成人在线观看| 国产亚洲精品久久久久久久| 亚洲一区二区三区四区| 欧美日韩一区二区三区视频播放| 国产精品99久久精品| 99久久99久久综合| 在线亚洲a色| 国产69久久| 日韩毛片在线视频| 欧美xxx久久| 一区二区三区 在线观看视| 日韩免费av电影| 亚洲精品乱码日韩| 伊人影院久久| 免费a v网站| 俄罗斯精品一区二区三区| 亚洲第一区在线观看| 欧美一级淫片aaaaaaa视频| 精品99在线| 日韩女优一区二区| 国产一区私人高清影院| 亚洲ⅴ国产v天堂a无码二区| 日韩在线欧美在线| 黄色亚洲免费| 国产99久久久国产精品成人免费| 精品国产电影一区二区| 老司机午夜精品视频| 免费在线观看av片| 成人欧美一区二区三区小说| 久久美女福利视频| 欧美激情综合五月色丁香| 欧美一级在线亚洲天堂| 国产丝袜护土调教在线视频| 成人做爰视频网站| 91精品欧美一区二区三区综合在| 五月天丁香在线| 国产a√精品区二区三区四区| 18毛片免费看| 中文字幕在线观看免费| 欧美男男video| 91久久国产最好的精华液| 欧美美女一级片| 国产无遮挡又黄又爽又色| 日韩有码中文字幕在线| 欧美精品三区| 成人h动漫精品一区| www.88av| 久久久女人电视剧免费播放下载| 136福利视频导航| av中文字幕在线| 粉嫩虎白女毛片人体| 婷婷综合久久| 黄色亚洲在线| 婷婷在线播放| 亚洲韩国欧洲国产日产av| 四虎影视免费永久在线| 久久综合久久99| 成人午夜又粗又硬又大| 最新版天堂中文在线官网| 日韩成人av免费| 熟妇女人妻丰满少妇中文字幕| 丁香激情综合五月| 国产日韩欧美精品电影三级在线| 在线播放一区| 黄色xxxx| 色爱综合网欧美| 91人人爽人人爽人人精88v| 欧美亚洲综合在线| 亚洲第一中文av| 亚洲国产精品成人久久蜜臀| 免费看久久久| 午夜精品久久久久久久99黑人| 91麻豆精品国产91久久久更新时间| 中文字幕一区二区三区人妻在线视频| 欧美图片一区二区三区| 日本精品视频在线| 在线观看电影av| 黄色在线视频网址| 久久精品免费播放| 久久免费少妇高潮久久精品99| 免费一级做a爰片久久毛片潮| 久久五月天综合| 天天操天天曰| 精品欧美激情精品一区| 欧美日韩成人一区| 亚洲av无码国产精品麻豆天美| 国产馆手机在线观看| 国内精品久久久久久久久电影网| 99在线观看视频网站| 狠狠色成人综合网图片区| 免费看黄色一级大片| 91麻豆精品国产91久久久久久久久| 动漫3d精品一区二区三区| 怡红院av一区二区三区| 欧美一卡二卡三卡四卡| 91国产免费看| 午夜不卡影院| 欧洲一级精品| 久久99国产综合精品免费| 欧美日韩大片在线观看| 黄色欧美网站| 欧美精品久久久久久久免费观看| 国产最新自拍视频| 日韩高清不卡av| 人交獸av完整版在线观看| 国产av无码专区亚洲av毛网站| 日本欧美一区二区三区不卡视频| 欧美一区二区三区四| 成人综合久久| 91精品国产视频| 99久久国产综合色|国产精品| 日本全棵写真视频在线观看| 视频一区二区三区免费观看| 美女一区视频| 日韩成人毛片视频| 日本一二三区在线观看| 欧美电影免费观看高清| 强制高潮抽搐sm调教高h| 国产免费1000拍拍拍| 99re热精品| 国色天香2019中文字幕在线观看| jizzjizzji欧美| 亚洲国产一区二区视频| 日韩一区在线看| 在线观看岛国av| 中文字幕第二区| 日韩最新在线| 殴美一级黄色片| 国产在线a视频| 自拍视频网站| 国v精品久久久网| 久久人体大尺度| 欧美日韩尤物久久| 白丝女仆被免费网站| 妺妺窝人体色www在线小说| 亚洲欧美日韩在线综合| 丁香六月激情婷婷| av不卡免费在线观看| 国产美女在线观看| 韩国av免费在线| www免费在线观看| 九九九久久国产免费| 国产成人免费视频网站高清观看视频| 亚洲精品中文字幕乱码无线| 九九精品在线视频| 久久国产在线观看| 国产午夜福利视频在线观看| 亚洲欧美在线人成swag| 精品无码人妻一区二区三| 极品销魂美女一区二区三区| 黄色片网站在线免费观看| 看片一区二区| 在线电影欧美日韩一区二区私密| 日韩一二区视频| 黑丝美女久久久| 精品人妻一区二区三区日产| 国产精品一区久久久| 一女二男3p波多野结衣| 亚洲先锋成人| 亚洲高清视频在线观看| 成人三级视频在线观看一区二区| 精品无码av一区二区三区不卡| 亚洲天堂中文在线| 日韩午夜激情av| 欧美疯狂party性派对| 五月婷婷丁香激情| 欧美自拍小视频| 九色porny视频在线观看| 成人做爰66片免费看网站| 91精品国产九九九久久久亚洲| 91久久爱成人| 欧美人与牲动交xxxx| 久久夜色精品国产欧美乱极品| 亚洲小说春色综合另类电影| 欧美高清性xxxxhdvideosex| 欧美成人精品在线视频| aa片在线观看视频在线播放| 精品人妻无码一区二区| 小明精品国产一区二区三区| 亚洲永久精品唐人导航网址| 91chinesevideo永久地址| 色呦哟—国产精品| 国产又粗又黄视频| 中文字幕日韩专区| xxxx视频在线| 精品国产99久久久久久宅男i| 免费在线观看黄色小视频| 日本精品在线免费观看| 国产精品主播视频| 91在线你懂的| 日韩精品久久久久久久玫瑰园| 最新国产在线精品91尤物| 国产大尺度在线观看| 欧美极品欧美精品欧美| 国产成人强伦免费视频网站| 亚洲日本中文字幕在线| 正在播放日韩欧美一页| 国产精品久久午夜| 不卡在线一区| 国产在线一区二区视频| 欧美激情在线视频二区| 亚洲视频一二三| 亚洲无码精品一区二区三区| 亚洲国产日韩欧美在线图片| 精品少妇一区二区| 国产成人97精品免费看片| 国产一卡2卡3卡四卡网站| 免费在线一区观看| 成人视屏在线观看| 精品三级久久久久久久电影聊斋| 手机在线看福利| 国产一区免费在线观看| 国产欧美日韩在线播放| 麻豆changesxxx国产| 精品成人一区二区三区免费视频| 91精品国产入口在线| 小明成人免费视频一区| 欧美一级免费片| 国产精品久久久久久久久久久久| videoxxxx另类日本极品| 精品欧美午夜寂寞影院| 97色在线观看免费视频| 91国产视频在线观看| 久草综合在线观看| 97中文字幕在线观看| 欧美亚洲动漫制服丝袜| 国产不卡一二三| 国产精品剧情一区二区在线观看| 亚洲综合首页| 久久精品国产成人精品| 99色在线视频| 首页欧美精品中文字幕| 欧美日韩欧美| 亚洲国产一区二区精品视频| 欧美日韩精品一区二区| 国产精品免费免费| 久久久久亚洲av无码专区体验| 亚洲欧美丝袜中文综合| 草草草视频在线观看| 欧美黑人性受xxxx喷水| 欧美成人高清视频| 成人18网站| 99久久国产综合精品女不卡| 亚洲国产福利在线| 91中文字幕在线观看| 国产片一区二区三区| 久久亚洲免费视频| 三上悠亚激情av一区二区三区| 99热这里只有精品3| 成全视频全集| 91麻豆精品国产自产在线观看一区| 久久久久国产成人精品亚洲午夜| 在线观看亚洲精品视频| 成人影院网站ww555久久精品| 日本熟妇一区二区三区| 欧美日韩一区二区免费视频| 亚洲人成网站777色婷婷| 欧美精品一区二区久久久| 亚洲日本理论电影| 九一免费在线观看| 亚洲国产高清aⅴ视频| 日日噜噜噜噜久久久精品毛片| 日韩女优av电影| 国产精品视频自拍| 欧美在线激情| 性欧美1819| 亚洲精品videosex极品| 17c精品麻豆一区二区免费| 在线观看视频亚洲| 欧美tk—视频vk| 伊人在线视频观看| 国产又色又爽又黄又免费| 国产精品美女www爽爽爽| 在线免费观看a级片| 国产视频一区欧美| 亚洲一区二区在线免费看| 四虎影院中文字幕| 狠狠干狠狠搞| 国产精品亚洲片在线播放| 蜜臀av免费一区二区三区| 国产美女在线精品| 亚洲美女啪啪| 欧美一级片在线视频| 国模无码一区二区三区| 99国产精品白浆在线观看免费| 日本三级网站在线观看| 男人的天堂免费| 色综合久久中文字幕综合网小说| 精品av综合导航| 日韩欧美视频在线| 秋霞蜜臀av久久电影网免费| 亚洲校园欧美国产另类| 国精产品一区一区| 男人天堂免费视频| 国产成人午夜电影| 国产美女亚洲精品7777| 亚洲av综合一区二区| 国产欧美日韩免费看aⅴ视频| 国产日韩欧美精品在线观看| 亚洲国产天堂av| 重囗味另类老妇506070| 久久综合成人精品亚洲另类欧美| 波多野结衣办公室双飞| 亚洲乱码在线观看| 欧美国产美女| 精品国产无码一区二区| 在线视频1区| 欧美在线制服丝袜| 2025韩国大尺度电影| 日韩欧美在线综合网| 色老头在线一区二区三区| 日本一二三四高清不卡| 天天躁日日躁aaaa视频| 亚洲日本国产| 岛国精品一区| 红桃视频欧美| 91视频最新地址| www.555国产精品免费| 国产亚洲午夜高清国产拍精品| 亚洲精品国精品久久99热| 日韩欧美在线免费| www.啪啪.com| 日韩激情视频在线| 亚洲精品aⅴ中文字幕乱码|