千家信息网

Perl文件句柄怎么用

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下Perl文件句柄怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Perl文件句柄Perl脚本通过间接
千家信息网最后更新 2025年11月08日Perl文件句柄怎么用

小编给大家分享一下Perl文件句柄怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Perl文件句柄

Perl脚本通过间接Perl文件句柄连接到外部世界。从间接Perl文件句柄读就导入外部数据,向间接Perl文件句柄写则导出数据。根据间接Perl文件句柄的创建方式,可能连向:

磁盘文件。
硬件设备,例如打印机等。
本地进程,例如窗口系统中的一个命令行窗口。
远程进程,例如一个网络服务器。
"位存储桶"设备,也就是Unix/Linux系统中的/dev/null,该设备仅是吸引数据并忽略它。
间接Perl文件句柄可以是任何有效的Perl标识符,由大小写字母、数字和下划线字符组成。不同于其他变量的是,间接Perl文件句柄没有标志性的前缀(像"$","@","%")。因此,为了使间接Perl文件句柄有所区别,Perl程序员经常以全部大写字母表示它们。

当Perl脚本开始执行时,默认地打开3个间接Perl文件句柄:STDIN,STDOUT和STDERR。STDOUT间接Perl文件句柄(即"standardoutput")标准输出,是默认的输出间接Perl文件句柄。发送给这个间接Perl文件句柄的数据在用户指定的输出设备上显示,通常是脚本开始运行的命令行窗口。STDIN(即"standardinput")标准输入,是默认的输入间接Perl文件句柄。从这个间接Perl文件句柄读取的数据取自用户选择的输入设备,通常是键盘。STDERR(即"standarderror")标准错误输出,用于错误信息、诊断、调试和其他类似的偶发输出,默认情况下,STDERR和STDOUT使用相同的输出设备,但是用户可以自行改变。

正常输出和不正常输出有不同的独立间接Perl文件句柄,这样用户就能够独立地转移它们;例如,将正常输出发送到文件而将错误输出发送到屏幕。

#!/usr/bin/perl-w  chomp($input=<>);  print"IfIheardyoucorrectly,yousaid:$input\n";

STDERR是warn()函数和die()函数的默认目标。用户在开始执行脚本之前可以改变三个标准间接Perl文件句柄的连接。在Unix/Linux和Windows系统上,使用重定向元字符"<"和">"来完成这种改变。例如,对一个名为change.pl的脚本执行这两条重定向命令,将改变该脚本的标准输入,使其从文件data.txt中读取数据,并改变标准输出,使处理过的数据输出到文件changed.txt中:

#perlchange.plchanged.txt

标准错误不改变,因此诊断信息(例如,从内置的warn()函数和die()函数返回的信息)在屏幕上显示。

间接Perl文件句柄

间接间接Perl文件句柄可以使名字空间的管理更简单。由于间接Perl文件句柄对于当前包是全局
的,两个函数试图同时打开"INFILE"会导致冲突。如果两个函数使用间接文
件句柄比如"my$infile",则不会发生冲突,也不用担心以后会发生冲突。

"open"的***个参数可以是一个间接Perl文件句柄的引用。在Perl5.6.0中,如果
参数没有初始化,Perl会自动创建一个间接Perl文件句柄,然后存储在***个参数中,
例如:

open(my$in,$infile)ordie"Couldn'tread$infile:$!";  while(<$in>){  #dosomethingwith$_  }  close$in;

还有一个方便之处是当运行到作用域外或者使用undefine时,Perl文件句柄会
自动关闭。

subfirstline{
open(my$in,shift)&&returnscalar<$in>;
#noclose()required

}

【编辑推荐】

以上是"Perl文件句柄怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 句柄 输出 数据 标准 函数 脚本 设备 用户 错误 输入 信息 参数 命令 篇文章 系统 冲突 两个 内容 字母 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 读取用户数据库需要厂家授权 帝国神话东西能带到别的服务器吗 第六次网络安全与信息化会议 徐汇区参考网络技术服务有哪些 阅读网络技术与实践 数据库如何管理文件对象 数据库中存储数据的列 连云港网络安全审计系统咨询 初三英语单词软件开发 软件开发跟电商有关系吗 网络技术公司使命介绍 通付盾中国网络安全能力图谱 学校学生网络安全有哪些类型 网络安全防护认证 怎么查数据库下有那些表 服务器管理员应具备的技能 数据库如何创建办公信息管理 哈尔滨海上飞互联网科技有限公司 阿里云空间服务器配置 sybase 数据库管理 计算机网络技术必备技能 郑州联通服务器托管 计算机网络技术的大专 青岛大嘴网络技术有限公司 嘀嗒出行乘车记录服务器出错 创建数据库实例sga ftp服务器连wifi可以用吗 正规网络技术推荐咨询 cc防护服务器租户 ado 数据库连接失败
0