CGI-BBS > CGI > Perl > perlから、既存のhtml文書を開くには?


カレッヂ
カレッヂ


質問者 しろ  投稿日 3/8(木) 09:18:29
いつもお世話になっております!
perlからprintを使って、html文書を表示することが出来ますが、
既存のhtml文書を開きたい場合はどうしたら良いのでしょうか?
わかる方いましたら、アドバイスをよろしくお願い致します!
回答者 馬駒  [削除]  投稿日 3/8(木) 09:50:53
例えば
print "Location: http://www2s.biglobe.ne.jp/~arkadia/cgi/perl_tips.htm";
と記述するとhttp://www2s.biglobe.ne.jp/~arkadia/cgi/perl_tips.htmにジャンプします。
ただし、この方法を使うとエラーになるサーバもあります。
質問者 しろ  [削除]  投稿日 3/8(木) 10:15:16
馬駒さん返信ありがとうございます。
今試してみたのですが、私の利用しているサーバではエラーになってしまうようです・・・。
他の良い方法はありますでしょうか?
回答者 しあわせのツボ  [削除]  投稿日 3/8(木) 11:27:05
負荷を考えなくてよいのであれば、Perlから

if(!open(IN,"パス/ファイル名")) { (エラー表示) }
print while <IN>;
close(IN);
としてやれば、ファイルの内容をそのまま出力できます。
質問者 しろ  [削除]  投稿日 3/8(木) 11:58:07
しあわせのツボさん返信どうもありがとうございます。
教えて頂いた方法で出来ました!
1つ、パス/ファイル名の所でファイル名をファイル名を指定しますと、
問題なく出来るのですが、http://・・・から指定すると上手く行かないのですが、
こちらの指定ではうまく行かないのでしょうか?
現在、別サーバ内にあるhtml文書を表示させたいと考えております。
回答者 しあわせのツボ  [削除]  投稿日 3/8(木) 12:21:46
他のサーバにあるファイルだと、馬駒さんご提案のLocationヘッダか、通常の<meta>タグで飛ばすくらいしかないと思います。
Perlから他のサーバにあるファイルを読むのは著しく面倒ですので。
質問者 しろ  [削除]  投稿日 3/8(木) 14:03:29
しあわせのツボさん、返信ありがとうございました。
<meta>タグを使い、希望のhtml文書を表示させることが出来ました。
これは、html文書作成知識の範囲内でしたね・・・。
その前に教えて頂いた、if(!open・・・の方法もまた違った所で使えるかと思います。
どうもありがとうございました!

このページは終了したので返信(回答)は書きこめません

Web裏技