在Mac OS上从perl中的用户输入获取文本时限制字符数

时间:2017-06-02 01:23:40

标签: linux macos perl stdin macos-sierra

我有以下perl代码:

  my($result) = "";

  while($line = <STDIN>) {
    $result .= $line;
  }

我想要做的基本上是读取用户输入并将其存储在变量(“$ result”)中。问题是,当输入太长时,脚本会卡住,你必须按ctrl-c取消执行才能退出。这听起来似乎只有有限数量的字符可供阅读。应该有办法改变这样的限制。

我的perl版本是:v5.18.2 Mac OS: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的代码”。

1 个答案:

答案 0 :(得分:0)

在Perl中,标量变量用于表示信息块。 标量可以指整数,浮点数,字符串,对象,二进制信息等。

  

它是一个多功能变量,没有长度限制。