位置: 编程技术 - 正文

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有什么用)

  • 旅游业成本交税会计分录怎么做
  • 国内税和国外税
  • 个人所得税中社保填写在哪昆山
  • 中央空调折旧年限是多久
  • 用于后勤管理部的工作
  • 外出经营能自带食物吗
  • 关联交易所得税规定
  • 收到土地使用权转让金会计分录
  • 签了合同没开票
  • 销售收入打折后怎么算
  • 非公益捐赠如何调整应纳税所得额?
  • 注册个人独资企业和有限公司哪个好
  • 冲销去年费用
  • 税率开错的增值税发票怎么办
  • 离婚房屋权属变动怎么办
  • 软件企业超税负率怎么算
  • 融资租赁开始时的账务处理
  • 企业取得出售可供出售金融资产该如何写分录呢?
  • 出口茶叶需要什么资质
  • 个税0申报逾期一年
  • 企业所得税是怎么来的?
  • 季度所得税弥补亏损
  • 过桥资金法律规定
  • wifi不让输入密码怎么办
  • 与存货相关的车间固定资产日常
  • 如何在excel中自动筛选
  • windows安全警报关不掉
  • 鸿蒙系统怎么设置桌面小组件
  • wlms.exe是什么
  • 增值税发票没认证 可以重新开吗
  • php编程基础与案例开发
  • 商誉准则最新修订时间
  • vue3框架的优点
  • 增值税留抵退税怎么操作
  • 车辆购置税发票在哪里打印
  • php生成唯一id
  • php is_executable判断给定文件名是否可执行实例
  • 预提费用多提汇算清缴怎么做账
  • 结转出口退税分录
  • 合作社计提工资
  • 支付招聘网站费用怎么入账
  • 固定资产售后回租融资租赁利息可以抵扣进项税额么
  • mongodb操作语句
  • 子公司将股权转让给父公
  • 应收账款应付账款借贷方都表示什么
  • 减免税款科目期末有余额吗
  • 报销招待费是什么意思
  • 未入账的记账凭证填错了怎么办
  • 新公司期初余额怎么算
  • 固定资产处置相关问题
  • 财务软件摊销年限的最新规定
  • 会计信息质量特征哪个最重要
  • Mysql中FIND_IN_SET()和IN区别简析
  • 存储过程sql server
  • linux/fs.h
  • 用友t6运行特别慢
  • linux连接vps
  • rhel7.2安装
  • win7鼠标点了没反应
  • Win10系统安装包
  • 怎么防电胖
  • Win10更新KB3156421补丁后出现设备运行缓慢现象的解决方案
  • 如何查看win7系统
  • Win10 Mobile 10586.71截图曝光 修复已知问题
  • 关于node.js中的模块化规范
  • 移动手机指令
  • 关于android中view的说法正确的是
  • linuxshell命令行
  • javascript的
  • android 更新apk
  • 不是批处理文件
  • python如何通过键找对应值
  • js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
  • 财税老师刘杨年龄
  • 海关编码更新
  • 西安二手房几年可以过户
  • 增值税发票税控盘开票软件怎么下载
  • 公司租商铺
  • 美国网购消费者个人信息保护法
  • 宁波新注册公司什么时候开始报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设