我希望能够从标准输入读取数据并将所有内容存入一个变量中,我该如何做到这一点?
我对Perl知之甚少,需要创建一个CGI脚本来读取POST请求的数据,但是找不到任何关于如何做到这一点的资料。
这可能不是最权威的方法:
my $stdin = join("", <STDIN>);
local $/;
my $stdin = <STDIN>;
[但请参见man perlvar
以了解有关对特殊变量进行全局更改的注意事项]
如果你想要一个每行一个元素的数组而不是标量:
my @stdin = <STDIN>;
my $var = do { local $/; <> };
这个程序不仅可以读取标准输入,还可以通过命令行指定要处理的文件(类似于sed或grep)。
它也会包含换行符。