解決済みの質問

cgiのopenについて

cgiのopenを使って下記のソースを作りました。
が、読み込んだテキストの一行目しか読み込みませんToT

require 'cgi-lib.pl';
&ReadParse(*answer);
$data = "$answer{'text'}";
require 'jcode.pl';
&jcode'convert(*data,'sjis');

open(dataright,"<data.txt");
$data= <dataright>;
close(dataright);

print "Content-type:text/html\n\n";
print <<EOF;
<html>
<head>
<title>メール送信フォーム</title>
</head>

<body>
------------------<br>
お知らせ<br>
$data
------------------<br>
</body>
</html>
EOF
exit;

ちなみにテキストは改行に<br>を入力してあります。

ぜひアドバイスをお願いいたします。

投稿日時 - 2010-12-18 02:42:20

連想キーワード:

QNo.6391631

すぐに回答ほしいです

質問者が選んだベストアンサー

誤:
$data= <dataright>;

正:
@data= <dataright>;

では?
$foo = <bar>という書き方だと、1行しか持ってこなかったような気がします。
全部欲しい場合は配列に代入します。

ちなみに、全行つなげた行を作るにはこうやればいいかと思います。
my $lines = join('<br>\n', @data);

それにしても、$data= <dataright>;のところでもとの$dataを上書きして、もともとの$dataは何にも使われていないように見えますが、このプログラムでいいんですよね?

投稿日時 - 2010-12-18 03:14:20

お礼

勉強になります^^
参考にさせていただきます^^

投稿日時 - 2011-01-02 12:19:25

ANo.1

1人が「このQ&Aが役に立った」と投票しています

あわせてチェックしたい
  • \'xjis.nls\' ...
  • My sister went but didn\'t care to go. ...
  • Could you ~?とCouldn\'t you ~?の違いとは? ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら