加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl系列:输入与输出

发布时间:2020-12-15 21:00:55 所属栏目:大数据 来源:网络整理
导读:1、文件句柄 文件句柄是一个变量,它的值表示一个输入来源或输出去向。 perl保留了6个特殊的文件句柄:STDIN、STDOUT、STDERR、DATA、ARGV、ARGVOUT。 打开文件句柄 open 变量名,"文件名";??? #变量名即文件句柄的名称,可任取,建议大写 ??? 文件名前可以使

1、文件句柄
文件句柄是一个变量,它的值表示一个输入来源或输出去向。
perl保留了6个特殊的文件句柄:STDIN、STDOUT、STDERR、DATA、ARGV、ARGVOUT。

打开文件句柄
open 变量名,"文件名";??? #变量名即文件句柄的名称,可任取,建议大写
??? 文件名前可以使用<、>、>>来表示读入、输出和附加。若省略,则表示输出。
??? open Filein,"< file1";
??? open Fileout,"> file2";
??? open Fileout,">> file3";
??? 当输出文件不存在时,可以自动创建。但当目录不存在时,不能自动创建。

关闭文件句柄
close 变量名;??? #应在使用完毕后及时关闭文件句柄

2、读入:使用整行读入操作符
<文件句柄>??? #一次读入一行
????可使用for和while连续读入。但for要求列表,而while要求标量。
????因此for是一次全部读入,逐个处理;而while是一次读入一个,处理一个。
????print "it is $_" for <Filein>;??? #当文件过大时,会非常消耗内存
????print "it is $_" while <Filein>;

将文件句柄重定向到开头
seek FIND,0;

<>??? #当省略文件句柄时,则使用程序的调用参数,即@ARGV
??? 该参数实际上应该在程序开始运行之前获取
??? 若程序未调用任何参数,则从STDIN读入。
??? 因此大部分情况下,可以使用<>代替<STDIN>。

3、输出:print、printf
默认输出到STDOUT

??? print "hellon";??? #屏幕输出hello

输出到文件
print 文件句柄 "hellon";??? #将hello输出到文件句柄指向的位置

格式化输出
printf "格式字符串",数据列表;??? #常用格式符号有%d、%s、%f

4、输出错误和警告信息:和条件判断联用
die "出错信息";??? #中止程序,输出出错信息
die "$!";??? #使用$!输出系统服务请求失败信息

warn "警告信息";??? #输出警告信息,但不中止程序

5、目录句柄:和文件句柄类似 opendir D1,"../test";??? #在路径名称里不能使用"~" readdir D1;??? #读取目录里的所有文件及文件夹名称,包括"."和"..",但不包括路径。因此在文件测试时要加上路径。 closedir D1;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读