首页 > 编程 > Perl > 正文

perl 文件操作总结

2020-06-04 20:28:50
字体:
来源:转载
供稿:网友

一、打开、关闭文件

    open的返回值用来确定打开文件的操作是否成功,当其成功时返回非零值,失败时返回零,因此可以如下判断:
    if (open(MYFILE, "myfile"))
    {
        # here is what to do if the file opened successfully
    }
    当文件操作完毕后,用close(MYFILE); 关闭文件。
    读:open(文件句柄,"<文件名")  open(文件句柄,"文件名")   前提文件必须已经存在,否则会返回0,出错信息在!中
    写:open(文件句柄,">文件名"),文件如果不存在,那么创建之,如果存在,内容被清空,长度截为0,!中有出错信息。
    追加:open(文件句柄,">>文件名"),基本同写,但有一点,文件中的内容不会被清空,新的内容会追加到原文后面。
    读写:open(文件句柄,"+<文件名"),通过“+<”模式,你可以既可以读文件,又可以写文件。你可以通过tell() 函数在文件内部移动,通过seek()函数进行定位。如果文件不存在,就会被创建。如果文件已经存在,原来的数据不会被清除。

二、读文件        

    语句line = <MYFILE>;从文件中读取一行数据存储到简单变量line中并把文件指针向后移动一行。
    语句@array = <MYFILE>;把文件的全部内容读入数组@array,文件的每一行(含回车符)为@array的一个元素。

主要使用以下三个函数:

1__VE_ITEM__Ø         tell函数

函数tell用来确定文件中当前位置(亦即第一条记录后的那个字节)。Tell返回的值也是记录长度的字节数。

       length = tell ( FILE );

如一条记录有3个字节长度,字节0,1和2。因而,文件中的当前位置是3,这就是一条记录的长度。

1__VE_ITEM__Ø         seek函数

如果记录的长度已知,函数seek可用于查找文件中的任何记录。

函数seek接受3个参数:filename、offset和method。

Offset是在文件中确定新的当前位置时,所需移动的字节数。这个数一般可以这样计算:所需跳过的记录数乘以记录的字节数。

Method指出要开始查找的位置:

0表示从文件开始处计算;

1表示从当前位置开始计算;

2表示从文件结束出开始计算(这种情况下,offset一般为负数)。
                          

例如:

 seek  ( FILE,  5*length, 0 )

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表