該模塊用perl的數(shù)組代表一個(gè)文件,文件的每一行對(duì)應(yīng)數(shù)組的一個(gè)元素,第一行為元素0,第二回為1,...
文件本身實(shí)際并不加載到內(nèi)存,對(duì)數(shù)組元素的操作立刻作用到文件里。最大的方便是可以任意指定處理開頭結(jié)尾的某幾行。
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