将“STDIN”写在<>中perl程序的效果行为?

时间:2012-12-27 07:30:38

标签: perl

我有两个perl脚本,它们都等待用户输入一些输入,如下所示,

他们俩都一样吗? “STDIN”是否写在<>中只是为了用户可读的代码? 如果没有,请告诉我差异。

a) $in = <STDIN>;

b) $in = <>;

3 个答案:

答案 0 :(得分:13)

表单<FILEHANDLE>只能从FILEHANDLE读取。

如果<>为空,表单STDIN将从@ARGV读取;或者来自@ARGV的所有文件,其中包含传递给程序的命令行参数。

答案 1 :(得分:9)

<><ARGV>的简写。 ARGV是一个特殊的文件句柄,可以打开并遍历@ARGV中指定的所有文件名(命令行参数),也可以别名为STDIN@ARGV时是空的。

答案 2 :(得分:0)

您可以从perlop, section about I/O Operators

获取有关<>的更多信息