将"STDIN"写入perl程序的<>效果行为?

ara*_*esh 4 perl

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

两者都一样吗?用<>编写的"STDIN"只是为了用户可读的代码吗?如果没有,请告诉我差异.

a) $in = <STDIN>;

b) $in = <>;
Run Code Online (Sandbox Code Playgroud)

Mor*_*kus 13

表格<FILEHANDLE>只会从中读取FILEHANDLE.

表格<>将从STDINif中读取@ARGV为空; 或者来自其名称仍然@ARGV包含传递给程序的命令行参数的所有文件.

  • @JasonSperske你的意思是你从来没有在带有文件名参数的脚本中编写`while(<>){...}`,以便它处理文件? (3认同)

mob*_*mob 9

<>是简写<ARGV>.并且ARGV是一个特殊的文件句柄,它打开并遍历@ARGV(命令行参数)中指定的所有文件名,或者获取别名STDIN(当@ARGV为空时).