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; }
相关文章
相关标签/搜索