我有以下 perl 代码:
my($result) = "";
while($line = <STDIN>) {
$result .= $line;
}
基本上我想做的是读取用户输入并将其存储在变量(“$result”)中。问题是,当输入太长时,脚本会卡住,您必须按 ctrl-c 取消执行才能退出。听起来要读取的字符数量有限。应该有办法改变这样的限制。
我的perl版本是:v5.18.2 Mac 操作系统:Sierra 10.12.5
感谢您的帮助!
----- 附加信息--------------------
这是说明问题的完整代码:
#!/usr/bin/perl -w
print "Input your suggestion:\n";
my(@lines) = <STDIN>;
print "Your suggestion is:\n";
foreach $l (@lines) {
print "$l";
}
启动脚本,转到https://en.wikipedia.org/wiki/Opioid_use_disorder#Cause并从“大多数患有阿片类药物使用障碍的人”复制到“在依赖和过量中发挥作用”(我无法在此处复制/粘贴太多字符),并将内容作为输入粘贴到控制台,您将看到脚本在“seemingl 的代码”处停止。
最佳答案
在 Perl 中,标量变量用于表示信息 block 。 标量可以指整数、 float 、字符串、对象、二进制信息等。
It's a versatile variable with no length limit.
关于linux - 在 Mac OS 上从用户输入的 perl 中获取文本时限制字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44319436/