投票システムを作ろうとしているのですが、アドバイスお願いします。
パラメータ$goodsnumに入れた商品番号$tmp[0]に対する得票数$tmp[1]を
カウントアップさせたいのですが、ログファイルがうまく更新されません。
コードは以下の通りです。

open(LOG, "+<$file");
flock(LOG,2);
print "Content-type: text/html\n\n";
while ($line = <LOG>) {
 @tmp = split /,/,"$line";
 if ("$tmp[0]" eq "$goodsnum"){
   seek(IN,0,0);
   $tmp[1] ++;
   print LOG "$tmp[0],$tmp[1]\n";
   truncate(IN,tell());
   print "商品番号$tmp[0]の得票数は$tmp[1]";
 }
}
flock(LOG,8);
close(LOG);

期待する結果(ログファイルの内容)
実行前 syohin555,0 → 実行後 syohin555,1

実際の結果(ログファイルの内容)
実行前 syohin555,0 → 実行後 syohin555,0[改行]syohin555.1

ログファイルには他にも商品の投票データがあり、パラメータで渡した商品のみ、カウントアップさせる企てです。
ごちゃごちゃして申し訳ありません。どうぞよろしくお願いします。