我想从STDIN读取并将变量中的所有内容都包含在内,我该怎么做?
答案 0 :(得分:1)
这可能不是最明确的方式:
my $stdin = join("", <STDIN>);
或者您可以启用slurp模式并一次性获取整个文件:
local $/;
my $stdin = <STDIN>;
[但请参阅man perlvar
了解有关对特殊变量进行全局更改的注意事项]
如果不是标量,则需要每行一个元素的数组:
my @stdin = <STDIN>;
答案 1 :(得分:1)
my $var = do { local $/; <> };
这并没有完全读取Stdin,它还允许文件在命令行上指定进行处理(如sed或grep)。
这包括换行。