ランダムでトピックを選ぶスクリプト
[上に]
[前に]
[次に]
もぐ1998
[E-Mail]
[HomePage]
1998/10/28(水) 23:02:06
お久しぶりです。今度はスクリプトの質問です。
HTMLファイルの中に <!--#exec cmd=・・・> とやって
Perl スクリプトを実行させ、このスクリプトであらかじめ
作ってあるテキストファイルをランダムで読み込んで
それを <!--#exec cmd・・> のところにそのファイルの
内容を書き換えたいのです。ちょうど <!--#include file-->の
ランダム版というところでしょうか。
さて、これを作ったのですがHTMLファイルにその文章を
出力してくれないのです。Telnetで実行するとちゃんと返してくれるのですが、
HTMLでさっき書いたように<!--#exec cmd-->を使っても、
そこの部分が空白になってしまうだけで、何も表示されないのです。
なぜでしょうか?教えて下さい。お願いします。
もぐ1998
[E-Mail]
[HomePage]
1998/10/28(水) 23:06:55
ソースをアップしておきました。
こっちも見てみて下さい。お願いします。
http://www02.so-net.ne.jp/~intro/newsp/pub.txt
あと、Telnetで
perl -wc topic.pl(このファイル)
とやったら文法はあっていると出ました。
B-Cus
1998/10/29(木) 01:59:24
ありがちなミス。
1. exec cmdで実行したときのカレントディレクトリを勘違いしている。
2. データファイルのパーミッション
で、こういうのはprintをばしばし埋め込んでいきましょう。
print "\$filename = $filename"
とか、
if ( -r "$filename" ){
print "I can read $filename";
} else {
print "I cannot read $filename";
}
とか、
open(IN,"$filename") || print "cannot open!";
とかやってれば原因がわかるでしょう。
もぐ1998
[E-Mail]
[HomePage]
1998/10/29(木) 20:32:14
やってみました。でもできませんでした。
それに、Telnetで実行してみたんです。
それならばうまくいったんですが。
たぶん、いけないのはHTMLに
書き出すことのような気がするんです。
でも print でいいんですよね?
なにがいけないんだろ。原因がよく分からないんです。
再びお願いします。
Tiot
1998/10/29(木) 22:22:12
><!--#exec cmd=・・・> とやって
SSIの設定で#exec cmdは使えるようになっていますか?
確認して、もし駄目なら
<!--#include file="〜"-->
<!--#include virtual="〜"-->
を、使って解決できませんか?
うちのプロバイダ(hi-ho)は#exec cmdが使えない代わりに#include virtualで
cgiスクリプトの結果を取り込むように、という指示があります。
もぐ1998
[E-Mail]
1998/11/03(火) 18:00:45
[[解決]]
ありがとうございました。
絶対パスにして解決できました。
本当にありがとうございました。
[上に]
[前に]
[次に]