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;