perl read()函數例子,read()函數實例代碼 - 讀取,或試圖讀取,長度LENGTH 與文件句柄FILEHANDLE 相關聯的文件到緩衝區BUFFER中的字節數。數組
read FILEHANDLE, SCALAR, LENGTH, OFFSETyii read FILEHANDLE, SCALAR, LENGTHtcp |
讀取,或試圖讀取,長度LENGTH 與文件句柄FILEHANDLE 相關聯的文件到緩衝區BUFFER中的字節數。若是指定了一個偏移量,所讀出的字節被放置到緩衝區中,在指定的偏移量開始。函數
讀取的字節數或未定義的值。spa
試試下面的例子:設計
#!/usr/bin/perl -w #by www.yiibai.com my($buffer) = ""; open(FILE, "/etc/services") or die("Error reading file, stopped"); while(read(FILE, $buffer, 100) ) { print("$buffer\n"); } close(FILE);
這將產生如下結果。這僅僅是結果的快照code
kerberos_master 751/udp # Kerberos authentication kerberos_master 751/tcp # Kerberos authenti cation passwd_server 752/udp # Kerberos passwd server
函數名 read
調用語法 read (filevar, result, length, skipval);
解說 read函數設計得與UNIX的fread函數等效,能夠讀取任意長度的字符(字節)存入一個簡單變量。其參數有四個:
一、filevar:文件變量
二、result:存貯結果的簡單變量(或數組元素)
三、length:讀取的字節數
四、skipval:可選項,指定讀文件以前跳過的字節數。
返回值爲實際讀取的字節數,若是已到了文件末尾,則返回零,若是出錯,則返回空串。同時還要注意該函數相似於鑽石操做符<>,每次讀數據都是讀取上一次讀數據的位置的下一個位置開始,而不是每次讀數據都從文件開頭位置開始!若是想要每次都從文件開頭讀取,能夠使用文件重定向符seek函數,以下所示:
server