アプリ版:「スタンプのみでお礼する」機能のリリースについて

ただ今勉強中のCGIを使って、テキストファイルの編集・上書き保存をテキストエリアから行いたいのですが、テキストエリアに読み込む時に改行コードが読み込めないためか、最後の一行しか表示できません。どのようにすると、改行コードを含めて編集できるのでしょうか?
その「できないコード(サブルーチン)」は↓になります。

$commentfile = "comment.txt";

■ 読み出し
sub read_commentfile
{
local($masg);
open(IN, $commentfile);
while (<IN>) {$masg = join('',$_);
       $massage = $masg;
}
close(IN);
}

■ コメントの編集画面
sub comment
{
local($html);

&read_commentfile;
#HTML作成
$html = << "EOM";
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=$charset">
<title>コメントの編集</title>
</head>
<body>
<form action="$self" method=post>
<input type=hidden name=mode value="savecomment">
<hr>
コメント<br>
<textarea name=masg cols=40 rows=4>$massage</textarea>
<br>
<input type=submit value=" 更新 ">
</form>
<hr>
</body>
</html>
EOM
&print_html($html);
}

■ 上書き保存
sub savecomment
{
local(@text);
push(@text, "$FORM{'masg'}\n");
open(OUT, ">$commentfile");
print OUT @text;
close(OUT);
}

本来でしたら、ファイルのロック・解除、表ダグ、パスワード等の記述もあるのですが、省いてあります。
よろしくお願い致します。

A 回答 (1件)

while (<IN>) {$masg = join('',$_);


       $massage = $masg;
}
そもそもこのループで何をしたい?
と言うか何をしているのかわかっていますか?
それがわかれば自ずとどうすればいいのかわかるはずです。
    • good
    • 0
この回答へのお礼

さっそくのご回答ありがとうございます。もう一度見直します。

お礼日時:2008/09/09 19:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!