鉴于我有一个需要处理的 4GB 文件,在 Perl 中有没有一种方法可以像数组一样引用文件句柄,而无需将其复制到实际的数组/内存中?
就像是:
open (LOG, "less file.txt |");
my @reference = \<LOG>;
print $reference[1000000];
close LOG;
谢谢你!!
鉴于我有一个需要处理的 4GB 文件,在 Perl 中有没有一种方法可以像数组一样引用文件句柄,而无需将其复制到实际的数组/内存中?
就像是:
open (LOG, "less file.txt |");
my @reference = \<LOG>;
print $reference[1000000];
close LOG;
谢谢你!!
使用Tie::File。
use Tie::File;
tie my @array, 'Tie::File', $filename or die "tie $filename: $!";
print $array[42];