in reply to CGI Server Error

From your post the context is not clear but there are some problems with your code. First you don't really need the -i in this context see perlman:perlrun. Your open opens the file for reading and writing. This is fine. You set $out to '' which is fine. You then iterate over your file handle assigning each line to $_. You modify $_ substituting the string 'date' with localtime() - this is fine but you don't actually do anything with the result. You then seek the start of the file, print a null string ($out) to it and truncate. You don't check the return values of seek, truncate or tell which is generally considered good form. Anyway the net result is your code will erase the entire contents of the target file. If the aim of this code is to open a file and change all the strings 'date' to the value of localtime then this works:

#!/usr/local/bin/perl -w use strict; my $file = "c:/test.txt"; open(F,"+<$file") or die "Could not open $file: $!"; my @file = <F>; s/date/localtime/eg for @file; seek F,0,0 or die "Could not seek in $file: $!"; truncate F,0 or die "Could not truncate $file: $!"; print F @file; close F;

I hope this helps.

cheers

tachyon

s&&rsenoyhcatreve&&&s&n\w+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print