perl大文件读取处理的模块

发布时间:2020-02-19编辑:脚本学堂
perl CPAN中有一个Tie-File 模块极大方便了对大文件的操作。该模块用perl的数组代表一个文件,文件的每一行对应数组的一个元素,第一行为元素0,第二回为1,...

perl CPAN中有一个Tie-File 模块极大方便了对大文件的操作。
该模块用perl的数组代表一个文件,文件的每一行对应数组的一个元素,第一行为元素0,第二回为1,... 
文件本身实际并不加载到内存,对数组元素的操作立刻作用到文件里。最大的方便是可以任意指定处理开头结尾的某几行。

基本用法:
 

复制代码 代码如下:

use Tie::File;

tie @array, 'Tie::File', filename or die ...;

$array[13] = 'blah'; # line 13 of the file is now 'blah'
print $array[42]; # display line 42 of the file

$n_recs = @array; # how many records are in the file?
$#array -= 2; # chop two records off the end


for (@array) {
s/PERL/Perl/g; # Replace PERL with Perl everywhere in the file
}

# These are just like regular push, pop, unshift, shift, and splice
# Except that they modify the file in the way you would expect

push @array, new recs...;
my $r1 = pop @array;
unshift @array, new recs...;
my $r2 = shift @array;
@old_recs = splice @array, 3, 7, new recs...;

untie @array; # all finished

更多功能请大家参考cpan上的文档。