perl學習之:read

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

    1. use strict;
    2. open FH, "<ttt.pl";
    3. my $buf;
    4. while( seek(FH, 0, 0 ), read( FH, $buf, 1 ) ){ print $buf; }
相關文章
相關標籤/搜索