• 締切済み

tsvファイルの読み込みエラー

ファイル読み込み後、内容表示するプログラムをつくったのですが、tsvファイルを読み込むとWEB画面には何も表示されず真っ白になってしまいます(普通のtxtファイルでもタブが入っていると表示しません)。tsv読み込み時は何か設定が必要なのでしょうか? #!/usr/local/bin/perl print "Content-Type: text/html\n\n"; print "<html>\n"; print "<head><title>サンプル</title></head>\n"; print "<body>\n"; if (open(FH, "data/block.txt")) { @file = <FH>; close(FH); print "<p>ファイルの内容は、<br>\n"; foreach $data (@file) { print "$data<br>"; } print "です。</p>\n"; } else { print "ファイルを読み込めません。"; } print "</body>\n"; print "</html>\n"; exit;

みんなの回答

回答No.1

(Perl の質問ではなくて HTML の質問だと思いますが…)。 何も表示されないのはそのファイルの中に '<' か '>' の記号が入っているからではないですか? もし入っているならそれを &lt; や &gt; に変換しなければちゃんと出ません。(但し <pr> ... </pr> で括った場合は出ることがあります。ブラウザ依存だと思いますが)。 そのプログラムを改造するとすると foreach $data (@file) { print "$data<br>"; } の所を foreach $data (@file) { $data =~ s/</&lt;/g; $data =~ s/>/&gt;/g; print "$data<br>"; } のようにすればできます。

関連するQ&A