我想从 <> 读取 100 KB,对此进行一些测试,然后将 100 KB 放回去,以便稍后由 <> 读取它们。
在元代码中:
$data100kb = read(<>,100000);
testing($data100kb);
unget(<>,$data100kb);
while(<>) {
do stuff;
}
我事先不知道 <> 是否会为我提供实际文件、管道或实际文件的串联。所以它应该与:
cat bigfile_a bigfile_b | perl my_program
假设大文件是 1000*RAM 大小,因此复制输入的成本非常高。
如果我只能从 STDIN 读取,这是可以接受的。
背景
前 100kb 告诉我如何解析完整的输入,但解析器也需要这个输入。