in reply to Using read/write to update a file
Hi and welcome PackerX!
You print to STDOUT.
Something like that you try to accomplish is described in the Perl Cookbook, recipe 7.10 (Modifying a File in Place):
#!/usr/bin/env perl use strict; use warnings; use Data::Dump; my $file = qq(buff.txt); open( FH, "+<", $file ) or die "Opening: $!"; my @array = <FH>; dd \@array; s/cuke/beer/ for @array; seek( FH, 0, 0 ) or die "Seeking: $!"; print FH @array or die "Printing: $!"; truncate( FH, tell(FH) ) or die "Truncating: $!"; close(FH); dd \@array; __END__ karls-mac-mini:monks karl$ cat buff.txt foo bar nose cuke karls-mac-mini:monks karl$ ./inplace.pl ["foo\n", "bar\n", "nose\n", "cuke\n", "\n", "\n"] ["foo\n", "bar\n", "nose\n", "beer\n", "\n", "\n"] karls-mac-mini:monks karl$ cat buff.txt foo bar nose beer
Please see also seek, tell, and truncate.
Update: Posted a bit to late because of Germany vs. Ireland.
Update2: Added forgotten link to tell.
Regards, Karl
«The Crux of the Biscuit is the Apostrophe»
|
|---|