Anette Seiler wrote:
> 
> Hi Ken,
> 
> I encountered exactly the same problem today: How to read a file
> AND change something in it? I was not able to do both of them at
> the same time.
> 
> I am sure there is a more correct way to do it, but my solution (in
> the spirit of TIMTOWTDI) was to write to a temporary file and then
> rename the temporary file to the name of the original file, like:
> 
>   open FILE, "original.txt" or die "Cannot open file original.txt ($!)\n";
>   open TEMP, ">temp.txt" or die "Cannot open file temp.txt ($!)\n";
> 
>   foreach my $line (<FILE>){
>     $line =~ s/find/replace/gi ;
>     print TEMP "$line\n";
>   }
> 
>   close FILE;
>   close TEMP;
> 
>   rename "temp.txt", "original.txt;
> 

do it with 
perl -pi -e 's/find/replace/gi;'  original.txt

note that you'll lose the file if you do a mistake, 
perl -pibak -e 's/find/replace/gi;'  original.txt
will create a backup file

look at 'perldoc perlrun'

/jon

> It works, but as I say, I am sure, this is not the best way to do it.
> Therefore, I am just as curious as you, what the experts will tell us.
> 
> By the way, dear experts, I am really grateful for the time and effort
> you spend helping us newbies. I learned a lot since I subscribed to
> the list. Thank you!
> 
> Greetings from a sunny Cologne, Germany
> 
> Anette
> 
> > Hi,
> >
> > I have a file with say the value "02" in it.
> >
> > I can open the file, lock the file, read the value, increment the
> > value and do a write but the write always appends and never
> > over-writes the exisitng value.  I of course then unlock and close.
> >
> > I do a seek before the write to the beginning of the file, even
> > checked with "tell" and it returns "0",but the following print or
> > syswrite always appends.
> >
> > Why?  How do I over-write?
> >
> > Thanks
> >
> > Ken
> >
> > --
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> 
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to