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 $