CGI-BBS > 電子掲示板 > 簡易BBS > ログファイルへの書き込みがうまくいきません


カレッヂ
カレッヂ


質問者 Octo  投稿日 4/25(水) 20:29:52  [削除] (返信・回答が付いた後にこの質問の削除はできません)
自作のほんとに簡易な掲示板を作成しようとしているのですが、
書き込んだ内容を削除(というよりは非表示)させる段になって、
うまくいきません。

スクリプトは下記の通りです。
$alldataがログファイルで、
$flagは0が表示、1が非表示です。
また、$afterdelの初期値は "" です。

open (DEL, "<$alldata");
while (<DEL>) {

($id_no,$flag,$date1,$date2,$bcode,$bname,$email,$bfrom,$bto,$delete,$notice) = split(/\t/,$_);
  if ($id_no == $delid) {$delflag = 1;}
  else {$delflag = $flag;}
  $afterdel  .= "$id_no\t$delflag\t$date1\t$date2\t$bcode\t$bname\t$email\t$bfrom\t$bto\t$delete\t$notice\n";
}

open(DB,">$alldata");
print DB $afterdel;
close(DB);
(以下、削除完了をしらせる画面を生成するスクリプトが続く)

さて、処理をかけたあとのログファイルの中がこうなってしまいます。

$convf{'jis', 'jis'} = *jis2jis;
$convf{'jis', 'sjis'} = *jis2sjis;
$convf{'jis', 'euc'} = *jis2euc;
$h2zf{'jis'} = *h2z_jis;
$z2hf{'jis'} = *z2h_jis;
$convf{'sjis', 'jis'} = *sjis2jis;
$convf{'sjis', 'sjis'} = *sjis2sjis;
$convf{'sjis', 'euc'} = *sjis2euc;
$h2zf{'sjis'} = *h2z_sjis;
$z2hf{'sjis'} = *z2h_sjis;
$convf{'euc', 'jis'} = *euc2jis;
$convf{'euc', 'sjis'} = *euc2sjis;
$convf{'euc', 'euc'} = *euc2euc;
$h2zf{'euc'} = *h2z_euc;
$z2hf{'euc'} = *z2h_euc;
        0                                                
(↑最後の行は0の左にタブが1つ、右に6つ入っている)

どうもjcode.plがらみのエラーのように見えるのですが、
なぜこのようなことが発生するのかわからず困っています。
よろしくお願いいたします。

返信(回答)する


Web裏技