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

标签 linux macos perl stdin macos-sierra

我有以下 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/

相关文章:

linux - 暂停/禁用特定电子邮件帐户。 Linux whm cpanel

C fscanf 让我重复行

c++ - MS Visual Studio 到 Linux - 在 VirtualBox 中编译和调试

macos - vi命令:将所有行从远程文件复制到剪贴板,并将其粘贴到主机编辑器

perl - "Can' t 在未定义的值上调用方法 "get"是什么意思?

html - 如何将 HTML 转换回 Markdown ?

Linux Find命令源码

ios - 为 XCTest 模拟较低的操作系统版本

bash - 将标准输入参数传递给正在使用 gdb 调试的可执行文件

perl - While 循环不读取 Perl 代码生成的文件