perl 第三弹 句柄
Posted 流浪骆驼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl 第三弹 句柄相关的知识,希望对你有一定的参考价值。
上期回顾
-
perl中""配对存在 -
Bareword报错表示某个词语两边缺少引号 -
解决问题思路:确定问题,确定问题位置,查找原因,解决问题。
句柄
句柄(file handle),该文件句柄对于打开的文件是唯一的识别依据。
在通常情况下,每当程序开始执行时,父进程(通常就是shell程序)便会打开三个预先定义的流,分别叫做stdin、stdout和stderr。在默认情况下,这三个流都连接在终端屏幕上。
stdin流是输入的来源,即终端键盘;stdout是输出目的地,即屏幕;而stderr 则是打印程序错误信息的地方,一般也是终端屏幕。
Perl会从shell继承上述stdin、stdout和stderr流。Perl并不直接访问这些流,而是把它们命名为文件句柄。Perl只能通过这些文件句柄来访问上述流。其中,stdin 的文件句柄是STDIN、stdout的文件句柄是STDOUT;而stderr 的文件句柄则是STDERR。后面将详细介绍如何创建自己的文件句柄。读者现在只需使用上述预先定义好的句柄即可。
在默认情况下,print 和printf 函数都会把输出发送到STDOUT 文件句柄中。
# 输出到屏幕上Hello world
print "Hello world\n";
# 下面代码含义 与 上一行 一致
print STDOUT "Hello world\n";
# 输出到屏幕上What is your name?
print "What is your name? ";
# 读取键盘输入,并赋值给$name变量
$name = <STDIN>;
# 输出到屏幕上What is your father's name?
print "What is your father's name? ";
# 读取键盘输入,并赋值给$paname变量
$paname=<>;
# 输出到屏幕上Hello respected one, $paname ,
# 其中$paname值来自键盘输入
print "Hello respected one, $paname";
# 打开文件out.txt,方向为写入,OUT句柄表示对out.txt的操作
# 本篇侧重句柄,文件的操作后面会详细讲解
open OUT ,"">","out.txt" or die $!;
# 通过OUT句柄,out.txt文件中写入Life is good with Perl.
print OUT "Life is good with Perl.\n";
# 关闭句柄
close OUT;
总结
名称 |
shell |
perl |
含义 |
标准输入 |
stdin | STDIN | 来自终端键盘的输入 |
标准输出 |
stdout | STDOUT |
输出到屏幕 |
错误输入 |
stderr | STDERR | 打印程序错误信息的地方,一般是终端屏幕 |
(1)空钻石符<>, 将从命令行指定的所有文件读, 如果没有指定, 从STDIN读
(2)print 没有指定句柄,默认为STDOUT,即屏幕
参考:
https://baike.baidu.com/item/%E6%96%87%E4%BB%B6%E5%8F%A5%E6%9F%84
以上是关于perl 第三弹 句柄的主要内容,如果未能解决你的问题,请参考以下文章