use strict;
use warnings;
use Tie::File;
my $infile = shift;
tie my @lines, 'Tie::File', $infile;
printf "File has %d lines\n",$#lines+1;
print "$_\n" for @lines;
# clobber file
@lines = ();
printf "\nFile has %d lines\n",$#lines+1;
print "$_\n" for @lines;
# insert replacement lines
push @lines, "replacement line here";
push @lines, "another new line";
printf "\nFile has %d lines\n",$#lines+1;
print "$_\n" for @lines;
untie @lines;
####
$ perl test.pl test.file
File has 4 lines
one
two
three
four
File has 0 lines
File has 2 lines
replacement line here
another new line
####
$ cat test.file
replacement line here
another new line
$