如何将 STDIN 读入 perl 中的变量

jcu*_*bic 0 perl stdin file

我想从 STDIN 读取并将所有内容都放在一个变量中,我该怎么做?

我知道对 Perl 几乎一无所知,并且需要创建 CGI 脚本来从 POST 请求中读取数据,并且无法找到任何方法。

Aln*_*tak 5

这可能不是最确定的方式:

my $stdin = join("", <STDIN>);
Run Code Online (Sandbox Code Playgroud)

或者您可以启用 slurp 模式并一次性获取整个文件:

local $/;
my $stdin = <STDIN>;
Run Code Online (Sandbox Code Playgroud)

[但请参阅man perlvar有关对特殊变量进行全局更改的注意事项]

如果您想要一个每行一个元素的数组,而不是标量:

my @stdin = <STDIN>;
Run Code Online (Sandbox Code Playgroud)