在 perl 中有多少种获取 stdin 输入的方法?

How many ways are there of getting stdin input in perl?

我一直在学习perl,觉得格言很有趣。它说有多种方法可以做任何事情。我知道您可以使用 printsay 来输出内容,但除了使用预定义的文件指针之类的东西之外,我还没有找到任何其他读取输入的方法。

还有其他方法吗?

这个问题太宽泛了。

有许多不同的方式来读取句柄:

  • <>/readline(含 $/ = $line_ending;
  • <>/readline(含 $/ = undef;
  • <>/readline(含$/ = $block_size;
  • <>/readline(含 $/ = "";
  • getc
  • read
  • sysread
  • ...

还有用于终端的工具。

  • Term::ReadKey
  • Term::ReadLine
  • 诅咒
  • ...

此外,句柄可以用多种方式表示。

  • 对 IO 值的引用(例如 *STDIN{IO}
  • 包含 IO 值的 glob(例如 *STDIN
  • 对包含 IO 值的 glob 的引用(例如 \*STDIN
  • 包含 IO 值的 glob 的名称(例如 'STDIN'
  • 一个IO::Handle对象

在一行中,-n-p-l-0-F-a-C 都与 STDIN 有某种联系。

...