位置: 编程技术 - 正文

perl 文件读写详细说明(perl读取文件内容)

编辑:rootadmin
一、打开、关闭文件 语法为open (filevar, filename),其中filevar为文件句柄,或者说是程序中用来代表某文件的代号,filename为文件名,其路径可为相对路径,亦可为绝对路径。 open(FILE1,"file1"); open(FILE1, "/u/jqpublic/file1"); 打开文件时必须决定访问模式,在PERL中有三种访问模式:读、写和添加。后两种模式的区别在于写模式将原文件覆盖,原有内容丢失,形式为:open(outfile,">outfile");而添加模式则在原文件的末尾处继续添加内容,形式为:open(appendfile, ">>appendfile")。要注意的是,不能对文件同时进行读和写/添加操作。 open的返回值用来确定打开文件的操作是否成功,当其成功时返回非零值,失败时返回零,因此可以如下判断: if (open(MYFILE, "myfile")) { # here's what to do if the file opened successfully } 当文件打开失败时结束程序: unless (open (MYFILE, "file1")) { die ("cannot open input file file1n"); } 亦可用逻辑或操作符表示如下: open (MYFILE, "file1") || die ("Could not open file"); 当文件操作完毕后,用close(MYFILE); 关闭文件。二、读文件 语句$line = <MYFILE>;从文件中读取一行数据存储到简单变量$line中并把文件指针向后移动一行。<STDIN>为标准输入文件,通常为键盘输入,不需要打开。 语句@array = <MYFILE>;把文件的全部内容读入数组@array,文件的每一行(含回车符)为@array的一个元素。三、写文件 形式为: open(OUTFILE, ">outfile"); print OUTFILE ("Here is an output line.n"); 注:STDOUT、STDERR为标准输出和标准错误文件,通常为屏幕,且不需要打开。四、判断文件状态 1、文件测试操作符 语法为:-op expr,如: if (-e "/path/file1") { print STDERR ("File file1 exists.n"); }

推荐整理分享perl 文件读写详细说明(perl读取文件内容),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:perl文件怎么执行,perl read,perl写入文件,perl读取文件内容逐行处理,perl文件读取,perl文件读取,perl读取文件内容逐行处理,perl文件读取,内容如对您有帮助,希望把文章链接给更多的朋友!

perl 文件读写详细说明(perl读取文件内容)

文件测试操作符

操作符描述-b是否为块设备-c 是否为字符设备 -d 是否为目录 -e 是否存在 -f 是否为普通文件 -g 是否设置了setgid位 -k 是否设置了sticky位 -l 是否为符号链接 -o 是否拥有该文件 -p 是否为管道 -r 是否可读 -s 是否非空 -t 是否表示终端 -u 是否设置了setuid位 -w 是否可写 -x 是否可执行 -z 是否为空文件 -A 距上次访问多长时间 -B 是否为二进制文件 -C 距上次访问文件的inode多长时间 -M 距上次修改多长时间 -O 是否只为“真正的用户”所拥有 -R 是否只有“真正的用户”可读 -S 是否为socket -T 是否为文本文件 -W 是否只有"真正的用户"可写 -X 是否只有"真正的用户"可执行 注:“真正的用户”指登录时指定的userid,与当前进程用户ID相对,命令suid可以改变有效用户ID。

例: unless (open(INFILE, "infile")) { die ("Input file infile cannot be opened.n"); } if (-e "outfile") { die ("Output file outfile already exists.n"); } unless (open(OUTFILE, ">outfile")) { die ("Output file outfile cannot be opened.n"); } 等价于 open(INFILE, "infile") && !(-e "outfile") && open(OUTFILE, ">outfile") || die("Cannot open filesn");五、命令行参数 象C一样,PERL也有存储命令行参数的数组@ARGV,可以用来分别处理各个命令行参数;与C不同的是,$ARGV[0]是第一个参数,而不是程序名本身。 $var = $ARGV[0]; # 第一个参数 $numargs = @ARGV; # 参数的个数 PERL中,<>操作符实际上是对数组@ARGV的隐含的引用,其工作原理为:1、当PERL解释器第一次看到<>时,打开以$ARGV[0]为文件名的文件;2、执行动作shift(@ARGV); 即把数组@ARGV的元素向前移动一个,其元素数量即减少了一个。3、<>操作符读取在第一步打开的文件中的所有行。4、读完后,解释器回到第一步重复。 例: @ARGV = ("myfile1", "myfile2"); #实际上由命令行参数赋值 while ($line = <>) { print ($line); } 将把文件myfile1和myfile2的内容打印出来。六、打开管道 用程序的形式也可以象命令行一样打开和使用管道(ex:ls > tempfile)。如语句open (MYPIPE, "| cat >hello"); 打开一个管道,发送到MYPIPE的输出成为命令"cat >hello"的输入。由于cat命令将显示输入文件的内容,故该语句等价于open(MYPIPE, ">hello"); 用管道发送邮件如下: open (MESSAGE, "| mail dave"); print MESSAGE ("Hi, Dave! Your Perl program sent this!n"); close (MESSAGE);

perl 模式匹配参数详解 一、简介模式指在字符串中寻找的特定序列的字符,由反斜线包含:/def/即模式def。其用法如结合函数split将字符串用某模式分成多个单词:@array=split(//,

perl 控制结构 条件控制 if while 一、条件判断if(expression){statement_block_1}elsif(expression){statement_block_2}...else{statement_block_3}二、循环:1、while循环while(expression){statement_block}2、until循环until(ex

perl 子程序 sub 一、定义子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读。PERL中,子程序可以出现在程序的任何地方。定义方法为

标签: perl读取文件内容

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

上一篇:perl 列表和数组变量详解(perl数组元素个数)

下一篇:perl 模式匹配参数详解(perl -i -pe)

  • 土地增值税要计增值税吗
  • 小规模纳税人征税率为多少
  • 企业购入固定资产在每期末应使用公允价值法进行计量
  • 中介费要求开发票中介公司不开
  • 什么叫备抵科目,什么叫过渡科目
  • 工资没走公账走的私人账户合法吗
  • 结转完工产品生产成本会计科目
  • 退货折价的账务处理分录
  • 通行费电子发票可以抵扣吗
  • 高速公路通行费电子发票怎么打印
  • 银行汇兑怎么做账
  • 企业之间现金换承兑合法吗
  • 纳税营业额包含免税营业额吗?
  • 记名预付卡不得设置有效期不可赎回
  • 资质挂靠人员需要交个税吗?
  • 税务局每年都会查我公司虚开发票
  • 雇员个人所得税
  • 不动产增值税发票抵扣
  • 吊车费计什么科目
  • 固定资产减值准备属于什么科目
  • 增值税附加税包含哪些税
  • 没有发票的房租调增金额怎算
  • 股东私人垫支公司支付零星材料的会计分录
  • 公司零税收申报
  • 升级设备属于什么科目
  • 薪酬支出包括什么
  • 怎么解决win11系统不兼容问题
  • 本年收益在借方还结转吗
  • 个体工商户需要年审吗
  • 一次性补偿金在取得后间隔一个月申报可以吗
  • elementui能做什么
  • 股权激励的账务处理
  • 财政拨款结转的明细科目中,年末结转后有余额的是
  • 木制家具出口流程
  • php sendmail
  • 利润分配的会计分录怎么写
  • 当月认证的发票可以进行进项税额转出嘛
  • 发票十万元版和百万元版
  • div css页面布局
  • 广东省工科赛智能配送
  • mac配置flutter环境变量
  • 围剿视频
  • 装货费用
  • 广东高速公路过路费收费标准
  • 企业的业务招待费属于什么费用
  • sql server列属性
  • sqlserver有实例吗
  • 处置公司车辆收据怎么写
  • 残疾人就业保证金上年工资总额是说上一年度么
  • 产品质量监督检查的重点是
  • 结转固定资产清理科目
  • 一般纳税人的服务费税率是多少
  • 银行回单nxt
  • 土地储备委员会职责
  • 失业保险费返还怎么做账
  • 培训费产生的差额怎么算
  • 在建工程转固定资产的账务处理
  • 应付账款预付账款期末余额怎么算
  • 营改增后工程项目计价规则也随之发生了改变对错
  • 新公司建账初始数据可以全部为零吗
  • 企业建账需做的会计科目
  • 海关发票丢失怎么处理
  • ubuntu安装软件没反应
  • 微软软件怎么用
  • ubuntu gvfs
  • win8系统忘记电脑开机密码怎么办
  • win10设置设备
  • linux系统中touch
  • os x 10.10.5
  • linux 常用 命令
  • linux文件系统inode
  • win8怎么调整显示器亮度
  • win8microsoft账户
  • style=display:inline
  • javascript基础编程
  • Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
  • android Intent Flags详解
  • 车辆保险开增值税吗
  • 浙江国税咨询电话12306
  • 上海市松江区房价?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设