<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="https://www.webmaster-forums.net/crss/node/1013247" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title></title>
    <link>https://www.webmaster-forums.net/crss/node/1013247</link>
    <description></description>
    <language>en</language>
          <item>
    <title>Thanks!</title>
    <link>https://www.webmaster-forums.net/serverside-scripting/appending-txt-file#comment-1076810</link>
    <description> &lt;p&gt;Thanks for all the input, got it workin!&lt;/p&gt;
&lt;p&gt;Heres final Code.....&lt;/p&gt;
&lt;p&gt;#!/usr/bin/perl &lt;/p&gt;
&lt;p&gt;print &quot;Content-type:text/html\n\n&quot;; &lt;/p&gt;
&lt;p&gt;read(STDIN, $buffer, $ENV{&#039;CONTENT_LENGTH&#039;});&lt;br /&gt;
@pairs = split(/&amp;amp;/, $buffer);&lt;br /&gt;
foreach $pair (@pairs) {&lt;br /&gt;
($name, $value) = split(/=/, $pair);&lt;br /&gt;
$value =~ tr/+/ /;&lt;br /&gt;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&quot;C&quot;, hex($1))/eg;&lt;br /&gt;
$FORM{$name} = $value;&lt;br /&gt;
} &lt;/p&gt;
&lt;p&gt;print &amp;lt;&lt;/p&gt;
&lt;p&gt;Thank you, The Battle Has been added!!&lt;/p&gt;
&lt;p&gt;EndOfHTML&lt;/p&gt;
&lt;p&gt;open (TEMP_FILE, &quot;battles.txt&quot;); #open without editing&lt;br /&gt;
my @battles = ; # store old stuff&lt;br /&gt;
close (TEMP_FILE); #close without editing &lt;/p&gt;
&lt;p&gt;open (TEMP_FILE, &quot;&amp;gt;battles.txt&quot;);&lt;br /&gt;
flock TEMP_FILE, 2; #see end notes&lt;br /&gt;
print TEMP_FILE &amp;lt; &lt;/p&gt;
&lt;p&gt;$FORM{clanplayed}&lt;br /&gt;
$FORM{date}&lt;br /&gt;
$FORM{matchtype}&lt;br /&gt;
$FORM{score}&lt;br /&gt;
$FORM{map}&lt;br /&gt;
$FORM{outcome}&lt;br /&gt;
$FORM{comments} &lt;/p&gt;
&lt;p&gt;EndOfHTML&lt;br /&gt;
print TEMP_FILE @battles; #print old stuff&lt;br /&gt;
flock TEMP_FILE, 8; #see end notes&lt;br /&gt;
close (TEMP_FILE); #close file and save&lt;/p&gt;
 </description>
     <pubDate>Tue, 16 Jan 2001 20:57:10 +0000</pubDate>
 <dc:creator>Jane</dc:creator>
 <guid isPermaLink="false">comment 1076810 at https://www.webmaster-forums.net</guid>
  </item>
  <item>
    <title></title>
    <link>https://www.webmaster-forums.net/serverside-scripting/appending-txt-file#comment-1076809</link>
    <description> &lt;p&gt;It won&#039;t, you need to open the filehandle for writing&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;#!/usr/bin/perl &lt;br /&gt;&lt;br /&gt;print &amp;quot;Content-type:text/html\n\n&amp;quot;; &lt;br /&gt;&lt;br /&gt;read(STDIN, $buffer, $ENV{&amp;#039;CONTENT_LENGTH&amp;#039;}); &lt;br /&gt;@pairs = split(/&amp;amp;/, $buffer); &lt;br /&gt;foreach $pair (@pairs) { &lt;br /&gt;($name, $value) = split(/=/, $pair); &lt;br /&gt;$value =~ tr/+/ /; &lt;br /&gt;$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg; &lt;br /&gt;$FORM{$name} = $value; &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;open (TEMP_FILE, &amp;quot;battles.txt&amp;quot;); #open without editing &lt;br /&gt;my @battles = &amp;lt;TEMP_FILE&amp;gt;; # store old stuff &lt;br /&gt;close (TEMP_FILE); #close without editing &lt;br /&gt;&lt;br /&gt;open (TEMP_FILE, &amp;quot;&amp;gt;battles.txt&amp;quot;); #----- Error was here ------#&lt;br /&gt;flock TEMP_FILE, 2; #see end notes &lt;br /&gt;print TEMP_FILE qq~ # new stuff to print at file top &lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt; &lt;br /&gt;&amp;lt;BODY BGCOLOR=&amp;quot;#000000&amp;quot; text=&amp;quot;#ffffff&amp;quot;&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;11%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana&amp;quot; size=&amp;quot;1&amp;quot; color=&amp;quot;#ffcc33&amp;quot;&amp;gt;$FORM{clanplayed}&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;11%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana&amp;quot; size=&amp;quot;1&amp;quot; color=&amp;quot;#ffcc33&amp;quot;&amp;gt;$FORM{date}&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;11%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot;&amp;gt;$FORM{matchtype}&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;11%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;$FORM{score}&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;18%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot;&amp;gt;$FORM{map}&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;$FORM{outcome}&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;28%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;$FORM{comments}&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/table&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;/BODY&amp;gt; &lt;br /&gt;&amp;lt;/HTML&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;~; #end new stuff print &lt;br /&gt;print TEMP_FILE @battles; #print old stuff &lt;br /&gt;flock TEMP_FILE, 8; #see end notes &lt;br /&gt;close (TEMP_FILE); #close file and save &lt;/code&gt;&lt;/div&gt;&#039;&lt;/p&gt;
&lt;p&gt;You may want to avoid that problem with multiple submits by processing in place. eg&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;#!/usr/bin/perl -w&lt;br /&gt;&lt;br /&gt;use CGI;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Save loads of work&lt;br /&gt;use Fcntl qw(:DEFAULT :flock);&amp;nbsp; #Import proper Flock functions&lt;br /&gt;&lt;br /&gt;my $q-&amp;gt;new CGI;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Define new CGI object&lt;br /&gt;&lt;br /&gt;print $q-&amp;gt;header();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print content line&lt;br /&gt;&lt;br /&gt;print &amp;lt;&amp;lt;EndOfHTML; &lt;br /&gt;&amp;lt;html&amp;gt; &lt;br /&gt;&amp;lt;body text=&amp;quot;#FFCC33&amp;quot; bgcolor=&amp;quot;#000000&amp;quot; link=&amp;quot;#357B29&amp;quot; vlink=&amp;quot;#357B29&amp;quot; alink=&amp;quot;#357B29&amp;quot;&amp;gt; &lt;br /&gt;&amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;Thank you, The Battle Has been added!!&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt; &lt;br /&gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt; &lt;br /&gt;EndOfHTML&lt;br /&gt;&lt;br /&gt;open ORIGINAL, &amp;quot;&amp;lt;battles.txt&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Open FIle to read&lt;br /&gt;flock ORIGINAL, LOCK_SH;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Apply shared lock&lt;br /&gt;open TEMP, &amp;quot;&amp;gt;battles.tmp&amp;quot; or die $!;&amp;nbsp; #Open Temp file to write&lt;br /&gt;flock ORIGINAL, LOCK_EX;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Apply exclusive lock&lt;br /&gt;select (TEMP);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Select Temp file for writing&lt;br /&gt;print TEMP qq~&lt;br /&gt;&amp;lt;html&amp;gt; &lt;br /&gt;&amp;lt;BODY BGCOLOR=&amp;quot;#000000&amp;quot; text=&amp;quot;#ffffff&amp;quot;&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;11%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana&amp;quot; size=&amp;quot;1&amp;quot; color=&amp;quot;#ffcc33&amp;quot;&amp;gt;~ . $q-&amp;gt;param(clanplayed) . qq~&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;11%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana&amp;quot; size=&amp;quot;1&amp;quot; color=&amp;quot;#ffcc33&amp;quot;&amp;gt;~ . $q-&amp;gt;param(date) . qq~&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;11%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot;&amp;gt;~ . $q-&amp;gt;param(matchtype) . qq~&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;11%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;~ . $q-&amp;gt;param(score) . qq~&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;18%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot; face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot;&amp;gt;~ . $q-&amp;gt;param(map) . qq~&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;~ . $q-&amp;gt;param(outcome) . qq~&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt; &lt;br /&gt;&amp;lt;td width=&amp;quot;28%&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;verdana, arial&amp;quot; color=&amp;quot;#ffcc33&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;~ . $q-&amp;gt;param(comments) . qq~&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/table&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;/BODY&amp;gt; &lt;br /&gt;&amp;lt;/HTML&amp;gt;~;&lt;br /&gt;&lt;br /&gt;while (&amp;lt;ORIGINAL&amp;gt;) { print TEMP $_ }&amp;nbsp; # Print old stuff&lt;br /&gt;close ORIGNAL;&lt;br /&gt;close TEMP;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Closing always drops a lock, and is safer that flock 8 on unbuffered perl&lt;br /&gt;rename (&amp;#039;battles.tmp&amp;#039;, &amp;#039;battles.txt&amp;#039;); #Rename files&lt;br /&gt;select (STDOUT); # Reselect STDOUT for printing&lt;br /&gt;&lt;br /&gt;exit (0);&amp;nbsp; # If you want to exit&lt;/code&gt;&lt;/div&gt;&#039;&lt;/p&gt;
 </description>
     <pubDate>Tue, 16 Jan 2001 20:32:33 +0000</pubDate>
 <dc:creator>Matt@Ikonboard</dc:creator>
 <guid isPermaLink="false">comment 1076809 at https://www.webmaster-forums.net</guid>
  </item>
  <item>
    <title>OK, tried that</title>
    <link>https://www.webmaster-forums.net/serverside-scripting/appending-txt-file#comment-1076808</link>
    <description> &lt;p&gt;So, with what you have posted my script should look like so..&lt;/p&gt;
&lt;p&gt;#!/usr/bin/perl&lt;/p&gt;
&lt;p&gt;print &quot;Content-type:text/html\n\n&quot;;&lt;/p&gt;
&lt;p&gt;read(STDIN, $buffer, $ENV{&#039;CONTENT_LENGTH&#039;});&lt;br /&gt;
@pairs = split(/&amp;amp;/, $buffer);&lt;br /&gt;
foreach $pair (@pairs) {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ tr/+/ /;&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&quot;C&quot;, hex($1))/eg;&lt;br /&gt;
    $FORM{$name} = $value;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;print &amp;lt;&lt;/p&gt;
&lt;p&gt;Thank you, The Battle Has been added!!&lt;/p&gt;
&lt;p&gt;EndOfHTML&lt;br /&gt;
open (TEMP_FILE, &quot;battles.txt&quot;); #open without editing&lt;br /&gt;
my @battles = ; # store old stuff&lt;br /&gt;
close (TEMP_FILE); #close without editing &lt;/p&gt;
&lt;p&gt;open (TEMP_FILE, &quot;&lt;/p&gt;
&lt;p&gt;$FORM{clanplayed}&lt;br /&gt;
$FORM{date}&lt;br /&gt;
$FORM{matchtype}&lt;br /&gt;
$FORM{score}&lt;br /&gt;
$FORM{map}&lt;br /&gt;
$FORM{outcome}&lt;br /&gt;
$FORM{comments}&lt;/p&gt;
&lt;p&gt;~; #end new stuff print&lt;br /&gt;
print TEMP_FILE @battles; #print old stuff&lt;br /&gt;
flock TEMP_FILE, 8; #see end notes&lt;br /&gt;
close (TEMP_FILE); #close file and save &lt;/p&gt;
&lt;p&gt;If thats right, I did it and the script seems to run, except its not printing anything to the battles.txt file?&lt;/p&gt;
&lt;p&gt;My battles.txt is chmod 666 is that right?&lt;/p&gt;
&lt;p&gt;[Edited by Jane on Jan. 16, 2001 at 02:51 PM]&lt;/p&gt;
 </description>
     <pubDate>Tue, 16 Jan 2001 19:46:19 +0000</pubDate>
 <dc:creator>Jane</dc:creator>
 <guid isPermaLink="false">comment 1076808 at https://www.webmaster-forums.net</guid>
  </item>
  <item>
    <title></title>
    <link>https://www.webmaster-forums.net/serverside-scripting/appending-txt-file#comment-1076805</link>
    <description> &lt;p&gt;To add your code to the top of the file, you will need to do something like this:&lt;/p&gt;
&lt;p&gt;perl... pase.... etc..&lt;/p&gt;
&lt;blockquote class=&quot;bb-quote-body&quot;&gt;&lt;p&gt;Quote:&lt;br /&gt;
open (TEMP_FILE, &quot;battles.txt&quot;); #open without editing&lt;br /&gt;
my @battles = ; # store old stuff&lt;br /&gt;
close (TEMP_FILE); #close without editing&lt;/p&gt;
&lt;p&gt;open (TEMP_FILE, &quot; &lt;/p&gt;
&lt;p&gt;$FORM{clanplayed}&lt;br /&gt;
$FORM{date}&lt;br /&gt;
$FORM{matchtype}&lt;br /&gt;
$FORM{score}&lt;br /&gt;
$FORM{map}&lt;br /&gt;
$FORM{outcome}&lt;br /&gt;
$FORM{comments} &lt;/p&gt;
&lt;p&gt;~; #end new stuff print&lt;br /&gt;
print TEMP_FILE @battles; #print old stuff&lt;br /&gt;
flock TEMP_FILE, 8; #see end notes&lt;br /&gt;
close (TEMP_FILE); #close file and save
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Please note, if you expect a large number of requests you may run into problems with file permisions.  For example, if user X and user Y both submit the form at the same time you will either loose one entry, loose both entries or loose the whole file.  The flocking code I provided will HELP prevent this but is not a 100% solution.&lt;/p&gt;
 </description>
     <pubDate>Tue, 16 Jan 2001 19:19:59 +0000</pubDate>
 <dc:creator>Ted Sindzinski</dc:creator>
 <guid isPermaLink="false">comment 1076805 at https://www.webmaster-forums.net</guid>
  </item>
  </channel>
</rss>
