This module uses perl array to represent a file. Each line of the file corresponds to an element of the array. The first behavior is element 0, and the second time is 1,...
The file itself is not actually loaded into memory, and the operation of array elements is immediately applied to the file. The biggest convenience is that you can arbitrarily specify the processing of certain lines at the beginning and end.
Basic usage:
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
For more functions, please refer to the documentation on cpan.