in reply to Re: Capture Contents AND Overwrite without Opening Twice?
in thread Capture Contents AND Overwrite without Opening Twice?
To wit: test.pl
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;
Let's run it.
$ 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
Verify that we have in fact changed the file:
$ cat test.file replacement line here another new line $
Updated for readability
|
|---|