我已经阅读过以下方法,一次将整个文件读入Perl数组,
open my $file, '<', $filePath or die "Error: Unable to open file : $!";
my @fileData = <$file>;
close $file;
我认为数组的大小仅受可用系统内存的限制。我想知道它在后台是如何工作的,因为这里没有涉及逐行读取文件并将它们提供给数组的循环。
答案 0 :(得分:1)
你的愿望就是我的命令 - 将评论转移到答案中,并在途中进行温和的纠正。
有什么可说的?在
array列表上下文中,由my @fileData
提供,<>
运算符使用隐式循环读取数组中的行。有用。偶尔会有用。Perl有几个座右铭。一个是TMTOWTDI - 有多种方法可以做到这一点。另一个是DWIM - 做我的意思;至少,Perl比许多语言更能做到这一点,只要你知道你要求的是什么。这是一片愚蠢的。
答案 1 :(得分:0)
readline
是实现<EXPR>
运算符的Perl 5内置函数。它在标量和列表上下文中具有不同的行为。