perl 文件操作总结

一、打开、关闭文件

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 )

执行后,他会使用计算式5*length和method为0来跳过文件的前5条记录,把第6条记录作为文件的当前位置

1__VE_ITEM__Ø         truncate函数

truncate函数接收两个参数:一个文件句柄和一个文件字节位置。它从文件字节处开始移除记录,直到文件结束。

Perl字符串处理函数

Perl字符串处理函数index

调用语法position=index(string,substring,position);
解说返回子串substring在字符串string中的位置,如果不存在则返回-1。参数position是可选项,表示匹配之前跳过的字符数,或者说从该位置开始匹配。

Perl字符串处理函数rindex

调用语法position=rindex(string,substring,position);
解说与index类似,区别是从右端匹配。

Perl字符串处理函数length

调用语法num=length(string);
解说返回字符串长度,或者说含有字符的数目。

Perl字符串处理函数pos

调用语法offset=pos(string);
解说返回最后一次模式匹配的位置。

Perl字符串处理函数substr

调用语法substr(expr,skipchars,length)
解说抽取字符串(或表达式生成的字符串)expr中的子串,跳过skipchars个字符,或者说从位置skipchars开始抽取子串(第一个字符位置为0),子串长度为length,此参数可忽略,意味着取剩下的全部字符。
当此函数出现在等式左边时,expr必须为变量或数组元素,此时其中部分子串被等式右边的值替换。

Perl字符串处理函数study

调用语法study(scalar);
解说用一种内部格式提高变量的访问速度,同一时刻只对一个变量起作用。

Perl字符串处理函数lc
uc
调用语法retval=lc(string);
retval=uc(string);
解说将字符串全部转换成小/大写字母。

Perl字符串处理函数lcfirst

ucfirst
调用语法retval=lcfirst(string);
retval=ucfirst(string);
解说将第一个字母转换成小/大写。

Perl字符串处理函数quotameta

调用语法newstring=quotemeta(oldstring);
解说将非单词的字母前面加上反斜线(\\)。
语句:string=quotemeta(string);
等效于:string=~s/(\\W)/\\\\1/g;
常用于模式匹配操作中,确保字符串中没有字符被看作匹配操作符。

Perl字符串处理函数join

调用语法join(joinstr,list);
解说把字符串列表(数组)组合成一个长的字符串,在每两个列表元素间插入串joinstr。

Perl字符串处理函数sprintf

调用语法sprintf(string,fields);
解说与printf类似,区别是结果不输出到文件,而作为返回值赋给变量。
例子num=26;
outstr=sprintf("%d=%xhexadecimalor%ooctal\",num,num,num);
print(outstr);
结果输出26=1ahexadecimalor32octal

(0)

相关推荐

  • perl 文件操作总结

    一.打开.关闭文件 open的返回值用来确定打开文件的操作是否成功,当其成功时返回非零值,失败时返回零,因此可以如下判断:    if (open(MYFILE, "myfile"))     {        # here is what to do if the file opened successfully    }    当文件操作完毕后,用close(MYFILE); 关闭文件.    读:open(文件句柄,"<文件名")  open(文件句柄,

  • perl文件操作的一些例子分享

    删除文件 使用unlinke函数,比如unlink $file, unlink $file1, $file2, $file3 打开文件 使用三参数的形式打开文件,这样非常便于区分模式和文件名,perl 5.6之后的版本都支持这种方式. 复制代码 代码如下: #Open the 'txt' file for readingopen FH, '<', "$file_name.txt" or die "Error:$!\n";#Open the 'txt' file

  • perl几个文件操作例子

    perl用的最多的地方就算是文件处理了,下面我就总结了一下perl文件操作的一些东西,并且有具体的例子,通过下面的例子,加强我们对perl文件操作的理解. 删除文件 使用unlinke函数,比如unlink $file, unlink $file1, $file2, $file3 打开文件 使用三参数的形式打开文件,这样非常便于区分模式和文件名,perl 5.6之后的版本都支持这种方式. 复制代码 代码如下: #Open the 'txt' file for reading open FH, '

  • perl 文件读写详细说明

    一.打开.关闭文件   语法为open (filevar, filename),其中filevar为文件句柄,或者说是程序中用来代表某文件的代号,filename为文件名,其路径可为相对路径,亦可为绝对路径.    open(FILE1,"file1");    open(FILE1, "/u/jqpublic/file1");  打开文件时必须决定访问模式,在PERL中有三种访问模式:读.写和添加.后两种模式的区别在于写模式将原文件覆盖,原有内容丢失,形式为:op

  • ASP.NET Core 2.0 本地文件操作问题及解决方案

    问题 如何在ASP.NET Core 2.0中受限地访问本地目录和文件信息? 答案 新建一个空项目,修改Startup类,添加访问本地文件所需的服务: public void ConfigureServices(IServiceCollection services) { services.AddSingleton<IFileProvider>( new PhysicalFileProvider(Directory.GetCurrentDirectory())); } 创建一个中间件,读取根目

  • python 文件操作删除某行的实例

    使用continue跳过本次写循环就可以了 #文本内容 Yesterday when I was young 昨日当我年少轻狂 The tasting of life was sweet 生命的滋味是甜的 As rain upon my tongue tasting I lived by night and shunned the naked light of day tasting123 And only now I see how the time ran away tasting tast

  • Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)

    复制代码 代码如下: using System; using System.IO; using System.Text; using System.Data; using System.Web.UI; using System.Web.UI.WebControls; namespace ec { /// <summary> /// 文件操作类 /// </summary> public class FileObj : IDisposable { private bool _alre

  • nodejs文件操作模块FS(File System)常用函数简明总结

    件系统操作相关的函数挺多的.首先可以分为两大类. 一类是异步+回调的. 一类是同步的. 在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可 1. 首先是一类最常规的读写函数,函数名称和形式,应该是起源于C语言的. 复制代码 代码如下: fs.open(文件路径,读写标识,[文件mode值,666],回调函数(err,文件句柄fd));          fs.read(文件句柄fd,被写入的buffer,offset,length,position,回调函数(err, byte

  • python文件操作相关知识点总结整理

    本文汇总了python文件操作相关知识点.分享给大家供大家参考,具体如下: 总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录:os.removedirs(r"c:\python&q

  • Go语言文件操作的方法

    本文实例讲述了Go语言文件操作的方法.分享给大家供大家参考.具体如下: 关闭文件: 复制代码 代码如下: func (file *File) Close() os.Error {     if file == nil {         return os.EINVAL     }     e := syscall.Close(file.fd)     file.fd = -1 // so it can't be closed again     if e != 0 {         retu

随机推荐