在 perl 中有多少种获取 stdin 输入的方法?
How many ways are there of getting stdin input in perl?
我一直在学习perl,觉得格言很有趣。它说有多种方法可以做任何事情。我知道您可以使用 print
和 say
来输出内容,但除了使用预定义的文件指针之类的东西之外,我还没有找到任何其他读取输入的方法。
还有其他方法吗?
这个问题太宽泛了。
有许多不同的方式来读取句柄:
<>
/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 有某种联系。
...
我一直在学习perl,觉得格言很有趣。它说有多种方法可以做任何事情。我知道您可以使用 print
和 say
来输出内容,但除了使用预定义的文件指针之类的东西之外,我还没有找到任何其他读取输入的方法。
还有其他方法吗?
这个问题太宽泛了。
有许多不同的方式来读取句柄:
<>
/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 有某种联系。
...