- ベストアンサー
HTMLからPerlを呼び出す方法
- Perlを使って他のサイトのtxtファイルを表示させる方法
- 拡張子がtxtのファイルをIE以外のブラウザでも表示する方法
- HTMLからPerlを呼び出す方法について
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ウチでも試してみましたが、うまくいきました。 while (<S>) { print; } の部分を while(<S>){ last if /Content-Type/; } while (<S>){ $window->document->write($_); $window->document->write('<BR>'); } にしてみて下さい。 最初の、whileは、サーバーから来るヘッダ情報の読み捨てです。 ただ、スクリプトによる方法は、結局クライアント(ユーザ)側で実行しているので、perlScriptが実行できないユーザの処では、なにも表示されないことになりますが、それは、それでいいのでしょうか? そういう意味では、SSIが使えるならSSIで処理すべきだと思いますけど。
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
ActivePerlをインストールしてたら <SCRIPT LANGUAGE="PerlScript"> $window->document->write('Hello world!'); </SCRIPT> みたいな感じで、javascriptと同様にHTMLに直接スクリプトを記述できます。
お礼
BLUEPIXYさん 素早いご回答ありがとうございます。 明日、さっそく試してみます!
補足
とほほさんのソースをそのままscriptタグの間に書いてみましたが、うまいこと実行されません。 別ファイルに書く場合と、下記のようにscriptタグに書く場合とでは、何かを変える必要があるのでしょうか? # <>は、< >に変えてあります。 # ActivePerlはインストール済みです。 <script language="PerlScript"> $addr = (gethostbyname("www.xxx.co.jp"))[4]; $name = pack("S n a4 x8", 2, 80, $addr); socket(S, 2, 1, 0); connect(S, $name); binmode(S); select(S); $| = 1; select(stdout); print S "GET /XXXXXXX.txt HTTP/1.0\r\n\r\n"; while (<S>) { print; } close(S); </script>
お礼
BLUEPIXYさん わざわざご自分の環境で試してくださるなんて感激です!どうもありがとうございます。 おかげさまで、無事に思い通りに動きました! これまで、iframeで実装しNetscapeで動かないなど、紆余曲折がありましたが、やっと実現することができました。 しかも、後から考えようと思っていたヘッダ情報の読み捨てまで先手を打って対処してくださる姿勢に、感動しました。 思い通りに動いた画面を見て寒気すら覚え、目にはうっすらと涙が…。 お会いすることができれば、もっと丁寧なお礼をさせていただきたいのですが、ネットというバーチャルな世界でのことゆえ、それができないのが非常に残念です。 まったくもって文句のつけようがありません。 本当にありがとうございました! 追伸: 実行環境は決まっているので、PerlScriptの件は問題ありません。ご心配いただきありがとうございます。