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

首頁 > 編程 > Perl > 正文

Perl文件句柄詳解

2020-10-31 15:17:23
字體:
來源:轉載
供稿:網友

在文件I/O中,要從一個文件讀取數據,應用程序首先要調用操作系統函數并傳送文件名,并選一個到該文件的路徑來打開文件。該函數取回一個順序號,即Perl文件句柄(filehandle),該Perl文件句柄對于打開的文件是唯一的識別依據。要從文件中讀取一塊數據,應用程序需要調用函數ReadFile,并將Perl文件句柄在內存中的地址和要拷貝的字節數傳送給操作系統。當完成任務后,在通過調用系統函數來關閉該文件。

除了你模仿唯我論者哲學家編寫一個人工智能程序,你的程序使用不和外界通訊的方法。在班級例子中的第三和四行,你將看到"GRADES",這是引用另一個Perl文件的數據類型,稱為據柄(filehandle)。一個句柄就是你給一個文件,設備,管套(socket)或管道的一個名字,以便幫助你記住你正處理的名字,并隱藏某些緩存等的復雜性。(在內部,句柄類似C++語言的流(streams),或BASIC中的I/O通道)句柄使你從不同的地方輸入和輸出給不同的地方都較容易。使Perl成為好語言的一個原因是它能和多個文件通訊并一次處理他們。對外部對象有好的符號名字是一個好語言的一個組成部分[1]。

其他使Perl是一個好語言的是:它是8位的,是可嵌入的,你能通過擴展模式在Perl中嵌入其他程序。它是簡明的,網絡上容易使用。環境上是清楚的,容易對話。你能以許多不同的方法引用它(就象前面看到的)??傊Z言本身不是如此嚴格的結構,以至于你不能使它超出你的問題。又回到TMTOWTDI。

你創建一個句柄,并通過open函數把它和一個文件聯結。open有兩個參數:句柄和你想與它聯結的一個文件名。Perl也給出一些預定義(和預打開的)句柄。STDIN是你程序的正常輸入通道,而STDOUT是你程序的正常輸出的通道。STDERR是一個附加的輸出通道,以便當把輸入轉為輸出時,程序能給出一些說明[2]。

一般地,這些句柄和你的終端聯結,所以你能輸入你的程序并能看到,但他們也可以和文件聯結。Perl能給你這些預定義句柄,因為你的操作系統已提供這些。在UNIX下,進程從他的父進程(一般是一個shell)繼承標準輸入,輸出和錯誤。一個shell的責任之一是建立這些I/O流,以便子進程不必考慮這些)。
既然你能為各種目的(輸入,輸出,管道)使用open函數創建句柄,你就必須能指明你要做什么。就象在UNIX命令行一樣,你給文件名簡單地加些字符。

復制代碼 代碼如下:

open(SESAME,"filename");#從已存在的文件讀
open(SESAME,"<filename");#顯式地,同上面
open(SESAME,">filename");#創建一個文件并對它寫
open(SESAME,">>filename");#對已有的文件接著寫
open(SESAME,"|output-pipe-command");#建立一個輸出過濾
open(SESAME,"input-pipe-command|");#建立一個輸入過濾

就象你看到的,你可以任意選名字。一旦打開句柄SESAME,它就能被用于存取文件或管道,直到它被顯式地關閉(用close(SESAME)),或對同一句柄的一系列open把這個句柄和另一文件聯結[3]。

打開一個已打開的句柄是隱式地關閉第一個文件,使它對Perl文件句柄不可取,并打開一個不同的文件。你必須小心這是你真正想做的。有時,偶然碰巧,比如,當你open($handle,$file)時,$handle正好包含空串(null)。確認設置$handle為某個單一個量,否則你將對空句柄打開一個新的文件。
一旦你已為輸入打開一個句柄(或你使用STDIN),你就能使用"行讀操作"<>,讀一行。這個也以鉆石操作聞名,因為它的形狀。這個鉆石操作包含你想讀的句柄()[4]。使用STDID句柄讀用戶提供的答案,如下:

空鉆石操作<>,將從命令行指定的所有文件讀,如果沒有指定,從STDIN讀。(這是許多UNIX"過濾"程序的標準行為)

復制代碼 代碼如下:

printSTDOUT"Enteranumber:";#請求輸入一個數
$number=<STDIO>;#輸入一個數
printSTDOUT"Thenumberis$number";#輸出這個數

你明白我們給你的例子嗎?在print語句中STDOUT做什么?這就是你使用一個輸出句柄的方法之一。一個句柄可以作為print語句的第一個參數,如果存在,告訴往哪兒輸出。在例子中,句柄是冗余的,因為輸出已經是STDOUT。對于輸入的缺省是STDIN,對于輸出的缺省是STDOUT。(在班級例子的18行,我們為避免使你混淆,我們省略了。)
我們也有一件事使你不明白。如果你試上面的例子,你可以注意到你得到一個特別的空行。因為讀時沒有自動地從你的輸入行中刪除換行符(newline)(例如,你輸入"9")。對于這些情況,當你想刪除換行符時,Perl提供chop和chomp函數。chop將不加區別地刪除(并返回)傳給它的最后一個字符,而chomp只刪除記錄標識的末尾(一般地是""),并返回這樣刪除的字符數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一道本无吗dⅴd在线播放一区| 国产成人精品av在线| 久久久精品999| 亚洲欧美日韩国产精品| 欧美日韩裸体免费视频| 欧美在线观看视频| 亚洲一区二区少妇| 中文字幕欧美国内| 国产亚洲精品美女| 91成人天堂久久成人| 91精品国产九九九久久久亚洲| 最近日韩中文字幕中文| 久久免费视频网站| 欧美性xxxx极品hd欧美风情| 2018国产精品视频| 欧美电影免费在线观看| 国产精品成人播放| 亚洲人成电影网站| 尤物九九久久国产精品的分类| 日韩中文字幕在线看| 欧美视频国产精品| 97人洗澡人人免费公开视频碰碰碰| 日韩高清有码在线| 欧美亚洲另类制服自拍| 日韩一区二区精品视频| 欧美贵妇videos办公室| 久久精品中文字幕免费mv| 国产一级揄自揄精品视频| 一区二区亚洲欧洲国产日韩| 日本国产高清不卡| 日韩欧美福利视频| 亚洲色图第一页| 日韩欧美aaa| 3344国产精品免费看| 欧亚精品中文字幕| 91精品久久久久久久久久入口| 日本一区二区三区在线播放| 韩日精品中文字幕| 久久精品久久久久| 亚洲成人国产精品| 久久久噜噜噜久久中文字免| 精品久久中文字幕| 欧美性xxxx极品hd欧美风情| 亚洲视频电影图片偷拍一区| 日本一区二三区好的精华液| 国产精品三级久久久久久电影| 国产视频在线观看一区二区| 中文国产成人精品| 欧美成人sm免费视频| 色爱av美腿丝袜综合粉嫩av| 欧美日韩另类在线| 久久琪琪电影院| 欧美成人亚洲成人| 亚洲精品一区久久久久久| 亚洲一区999| 日韩中文字幕在线视频播放| 最近2019年中文视频免费在线观看| 色综合久久久久久中文网| 欧美成人精品在线视频| 日韩电影中文 亚洲精品乱码| 98视频在线噜噜噜国产| 91精品国产自产91精品| 久久久久久久久久久av| 亚洲天堂成人在线| 亚洲精品大尺度| 91精品久久久久久| 波霸ol色综合久久| 亚洲视频一区二区| 中文字幕久热精品在线视频| 亚洲黄色av女优在线观看| 久久久国产精彩视频美女艺术照福利| 国产精品高潮呻吟视频| 亚洲视频在线视频| 欧美激情一二三| 91久久久久久久久久| 国产97在线观看| 久久成人精品电影| 国产成人精品免费视频| 91精品国产91久久久久| 国产日韩精品在线观看| 日韩国产精品一区| 成人在线视频网站| 91沈先生在线观看| 亚洲国产美女精品久久久久∴| 国产精品a久久久久久| 国产精品在线看| 亚洲国产中文字幕在线观看| 国产精品视频一区二区三区四| 成人免费视频xnxx.com| 在线视频欧美日韩| 国产精品一区二区三区免费视频| 亚洲激情国产精品| 亚洲www视频| 亚洲春色另类小说| 欧美亚洲成人精品| 国产精品极品在线| 国产精品色视频| 亚洲欧美另类人妖| 亚洲成人av资源网| 亚洲欧美日韩在线一区| xxxxx91麻豆| 久久久免费精品视频| 成人国产精品一区| 国内精品久久久| www.xxxx欧美| 欧美噜噜久久久xxx| 久久久久久久久久久国产| 久久久精品久久久久| 亚洲午夜精品视频| 成人免费视频在线观看超级碰| 亚洲精品国产精品国自产观看浪潮| 欧美性黄网官网| 国产精品7m视频| 日韩激情片免费| 欧美日本精品在线| 成人写真视频福利网| 成人久久一区二区| 国产精品亚洲片夜色在线| 日韩美女av在线免费观看| 日韩av在线影院| 久久人人爽亚洲精品天堂| 亚洲区免费影片| 国模吧一区二区三区| 国产综合色香蕉精品| 亚洲精品99久久久久| 成人激情视频免费在线| 上原亚衣av一区二区三区| 国产视频精品自拍| 精品伊人久久97| 俺去啦;欧美日韩| 81精品国产乱码久久久久久| 日韩精品在线影院| 国内精品久久久久伊人av| 国产精品自产拍在线观看| 日韩欧美在线视频| 青青久久aⅴ北条麻妃| 久久久亚洲天堂| 精品久久久91| 午夜精品久久久久久久99热浪潮| 国产日韩欧美日韩| 亚洲国产精品久久久久久| 久久香蕉频线观| 欧美极品美女视频网站在线观看免费| 久久成年人免费电影| 91精品视频一区| 中文字幕精品影院| 日韩毛片在线观看| 成人免费网站在线看| 日韩成人在线视频网站| 欧美在线亚洲一区| 亚洲一区二区福利| 精品中文字幕乱| 国产精品美女免费| 成人网在线免费观看| 亚洲欧美另类中文字幕| 成人午夜黄色影院| 国产亚洲精品久久久优势| 亚洲欧美日韩成人| 久久久久久伊人| 91在线免费看网站| 国产精品视频最多的网站| 亚洲一区二区三区在线视频| 国产精品高潮呻吟视频| 国产中文欧美精品|