如何将 STDIN 读入 perl 中的变量
How to read STDIN into a variable in perl
我想从 STDIN 读取并将所有内容都放在一个变量中,我该怎么做?
我对 Perl 几乎一无所知,需要创建 CGI 脚本来从 POST 请求中读取数据,但找不到任何操作方法。
这可能不是最确定的方法:
my $stdin = join("", <STDIN>);
或者您可以启用 slurp 模式并一次性获取整个文件:
local $/;
my $stdin = <STDIN>;
[但请参阅 man perlvar
了解有关对特殊变量进行全局更改的注意事项]
如果您想要一个每行一个元素的数组而不是标量:
my @stdin = <STDIN>;
my $var = do { local $/; <> };
这不太符合标准输入,它还允许在命令行上指定文件进行处理(如 sed 或 grep)。
这确实包括换行符。
我想从 STDIN 读取并将所有内容都放在一个变量中,我该怎么做?
我对 Perl 几乎一无所知,需要创建 CGI 脚本来从 POST 请求中读取数据,但找不到任何操作方法。
这可能不是最确定的方法:
my $stdin = join("", <STDIN>);
或者您可以启用 slurp 模式并一次性获取整个文件:
local $/;
my $stdin = <STDIN>;
[但请参阅 man perlvar
了解有关对特殊变量进行全局更改的注意事项]
如果您想要一个每行一个元素的数组而不是标量:
my @stdin = <STDIN>;
my $var = do { local $/; <> };
这不太符合标准输入,它还允许在命令行上指定文件进行处理(如 sed 或 grep)。
这确实包括换行符。