Hi Erik,
it seems that you ported a perl code from Unix to
Windows. In my experience, fcntl was creating a
problem in my code. That maybe the case for you too,
and also post the error log messages if there is any.


--- Erik Browaldh
<[EMAIL PROTECTED]> wrote:
> Hello everyone!
> 
> I have written a program that takes argument from
> html-formula and read and
> write it to a textfile.
> 
> When I tried it with perl mod 2, under windows with
> apache it doesnt work anymore.
> No new entries are written to the log-file.txt
> Ive tried chmod, especially r/w accesses
> but that doesnt seem to help.
> 
> also, .cgi files is renamed as .pl and the first
> line #!/usr/bin/perl -w
> is deleted.
> 
> Maybe some configurations are wrong?
> More comments are followed in the code below.
> Under Linux, Apache this program works
> 
> Greatful for helps
> Erik
> 
> 
> 
> alarm(30);
> $POST_MAX=5000;
> use CGI::Carp qw(fatalsToBrowser);
> use CGI':standard';
> use POSIX 'strftime';
> 
> ($Second, $Minute, $Hour, $Day, $Month, $Year,
> $WeekDay, $DayOfYear, 
> $IsDST) = localtime(time);
> 
> #get name and message from HTML-formular
> $l_name=param('by'); # name
> $l_mess=param('mess'); # message
> 
> if ($l_name eq ""){ #nothing written in
> HTML-formula?
> }
> else{ #otherwise write name and message last in file
> #(file path is: <C:/WEB/Apache/projects/perl)
> open T,">>log-file.txt" || die "cant open T for
> write $!";
> flock T,2; # write lock
> print T $l_name . "\n"; #concat: <whiteSPACE>
> 
> close T;
> }
> 
> print "Content-Type:text/html\n\n";
> 
> 
> #reading from same file (ie
> C:/WEB/Apache/projects/perl)
> open (T,"<log-file.txt") || die "Cant open file T
> for read $!";
> flock T,1;
> while ($row=<T>){
>    $tagdata=$tagdata . $row;#all txt-data inlst i en
> variabel!
> }
> close T;
> @tuples=split(/\n/,$tagdata);# split w.r.t 
> <whitespace>
> 
> $name4=$tuples[0]; #I just want to save the last 4
> messages in the file
> $name3=$tuples[1];
> $name2=$tuples[2];
> $name1=$tuples[3];
> 
> $tmp_nam=$tuples[4];
> 
> 
> 
> if($l_name eq ""){ #IF nothing is written in the
> HTML-formula, THEN
> $name4=$tuples[0]; #take old information
> $name3=$tuples[1];
> $name2=$tuples[2];
> $name1=$tuples[3];
> }
> 
> else{      #else "move up" information (ie only
> saving last 4 entries)
>    $name4=$name3;
>    $name3=$name2;
>    $name2=$name1;
>    $name1=$tmp_nam;
> }
> 
> 
> # for html-document in the same directory as
> perl-script, I now had to set
> #the whole path, which wasnt necessary under
> Linux/Apache.
> open
> (F,"<C:/WEB/Apache/projects/perl/plot_txt.html") ||
> die "Cant open $!";
> flock F,1;
> while ($row=<F>){
>    $row=~s/<!---(.*?)--->/eval$1/eg; #substitution
> in html-doc
>    print $row;
> }
> close F;
> 
> 
> #this file also lies under
> C:/WEB/Apache/projects/perl
> open T,">log-file.txt" || die "cant open T for write
> $!";
> flock T,2; # skrivls
> print T $name4 . "\n";
> print T $name3 . "\n";
> print T $name2 . "\n";
> print T $name1 . "\n";
> close T;
> 
> 


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

Reply via email to