将FileHandle引用为数组

Fun*_*guf 2 arrays perl pointers filehandle

鉴于我有一个需要处理的4GB文件,在Perl中是否有一种方法可以像数组一样引用文件句柄而不将其复制到实际的数组/内存中?

就像是:

open (LOG, "less file.txt |");
my @reference = \<LOG>;
print $reference[1000000];
close LOG;
Run Code Online (Sandbox Code Playgroud)

谢谢!!

fri*_*edo 7

使用Tie :: File.

use Tie::File;
tie my @array, 'Tie::File', $filename or die "tie $filename: $!";

print $array[42];
Run Code Online (Sandbox Code Playgroud)