位置: 编程技术 - 正文

perl 文件操作总结(perl 文本文件处理)

编辑:rootadmin

一、打开、关闭文件

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字符串处理函数lcuc调用语法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=;outstr=sprintf("%d=%xhexadecimalor%ooctal",num,num,num);print(outstr);结果输出=1ahexadecimaloroctal

推荐整理分享perl 文件操作总结(perl 文本文件处理),希望有所帮助,仅作参考,欢迎阅读内容。

perl 文件操作总结(perl 文本文件处理)

文章相关热门搜索词:perl命令,perl命令,perl如何使用,perl文件怎么执行,perl文件怎么执行,perl如何使用,perl处理文件,perl如何使用,内容如对您有帮助,希望把文章链接给更多的朋友!

Perl的经典用法分享 用Open()函数打开文件打开文件的常用方法是:open(FH,"$filename")ordie"Couldn'topen$filenameforreading:$!";open()函数通常带有两个参数,第一个为文件句柄,用于指向

perl文件操作的一些例子分享 删除文件使用unlinke函数,比如unlink$file,unlink$file1,$file2,$file3打开文件使用三参数的形式打开文件,这样非常便于区分模式和文件名,perl5.6之后的版本

perl 中的or与||的区别 来看看下面的代码会输出什么?my$a=0;$a=$aor1;print$a,"n";$a=$a||1;print$a,"n";输出:为什么呢?因为||,=,or这三者优先级从左至右逐渐降低。所以,这样写可

标签: perl 文本文件处理

本文链接地址:https://www.jiuchutong.com/biancheng/372471.html 转载请保留说明!

上一篇:在vim中添加perl注释时无法对齐问题的解决方法(vim如何在文件中添加)

下一篇:Perl的经典用法分享(perl有什么用)

  • 税务师补报名时间可以交费吗
  • 一个工程中可以有多个主函数
  • 进项税转出包括什么
  • 什么是进项税额转出
  • 分税制财政管理体制是什么?
  • 如何查询外经证缴了多少税
  • 安装费人工费有什么不一样
  • 已交的增值税能计入费用吗
  • 普通合伙企业要交什么税
  • 营改增后,建筑安装工程的费率是
  • 企业清算需要什么
  • 股权评估与资产评估的关系
  • 劳务分期收款税率是多少
  • 房屋租赁合同税率怎么算
  • 建安税由谁承担
  • 个人给公司开票税率
  • 连号发票税务风险
  • 个人销售比例用什么函数
  • 资源税可能计入
  • 小规模纳税人没有达到起征点怎么申报附加
  • 物流公司油卡怎么抵税的
  • mac双系统删除window后怎么重新恢复
  • 公司章程认缴时效是多久
  • thinkphp6调用模型的方法
  • 数字证书认证系统
  • 公司基本户可以异地开户吗
  • 专用发票怎样申报
  • 房地产开发企业涉及哪些税
  • 海关进口增值税怎么认证抵扣
  • 苏黎世湖天鹅
  • php提交表单数据有哪几种方法
  • 傅里叶变换的过程
  • 自然语言处理算法
  • vue生命周期图解
  • Python运算符的优先级别
  • 研发费用大于收入
  • 承税汇票个人能用吗
  • 企业研发费用可以抵税吗
  • 企业收到的国外发票可以入账吗
  • 租房合同违约金200%合理吗
  • 废品材料回收的会计分录
  • 砂石可以开专票吗
  • 公司的货款直接转给股东个人了,该怎么转到公司
  • 税盘连接服务器失败
  • 差旅费住宿费专票
  • 可供出售权益工具公允价值的增加计入当期损益吗
  • 库存股 注销
  • 母子公司间资产划转是否属于特殊性收入
  • 房地产企业的会计核算
  • 同比增长率环比增长率怎么算
  • 公司帮别人代缴社保要交税吗
  • 个人账户打流水需要本人吗
  • 发票入账但是没付款有什么税务风险
  • 利润分配未分配利润怎么结转
  • 包工包料成本比例
  • 预付购买设备款
  • mysql工作内容
  • 做好一个服务器工作
  • linux忘记root密码怎么修改
  • ubuntu环境搭建
  • linux用户账户管理
  • win102021年1月大更新
  • win8自带驱动吗
  • windows7没有桌面图标
  • Android NDK Cocos2dx 3.4 Label中文显示
  • extJS中常用的4种Ajax异步提交方式
  • unity3d游戏引擎支持几种平台发布?
  • jquery 字符串以什么开头
  • Linux动态链接库编译
  • js的脚本语言
  • 原生js实现路由
  • node.js详解
  • 安卓绘图软件推荐
  • web docs
  • js function.call
  • python3 cookie
  • 合并申报后老申报表还可以继续使用吗
  • 支付宝登录电子社保卡显示已被其他账号登录
  • 漯河经济开发区税务局电话
  • 车辆购置税税率多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设