• 締切済み

自作cgiスクリプト動作に必要なPerlモジュールが判るツール

初心者です宜しくお願いします 自作cgiスクリプト動作に必要なPerlモジュールが判るツールてありますでしょうか?自作スクリプトを作成し httpd.exe にActivePerl-5.10.1.1006-MSWin32-x86-291086.msi(デフォルト環境でインストール) をインストールした環境にて動作チェックしたスクリプトをサーバーにUPしましたが画像表示がうまくいきません。サーバー業者に問い合わせたところサーバーは問題なく動作してるとのことでユーザースクリプトのサポートは行わないと回答されてしまいました。そこで自作スクリプト動作に必要なPerlモジュールが判るツールとの質問になりました。 どなたかお分かりになる方よろしくお願い申し上げます。

みんなの回答

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.3

全文見たわけではないのでこれは勘ですが、 No.1のお礼のコード見る限り doctype宣言をループ内で出力するとか無茶なことしてるし、 あなたのスクリプトがおかしいから テスト環境ではたまたまうまくいったけど 本番環境でうまくいかないように思えます。 最終的にサーバーの問題であると決めるにしても、その前に自分を疑う努力をした方が良いと思います。 たいていの場合一番信用できないのは自分なんだし。

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

No.1お礼のPerlコードは全文なの? これだと@fileが存在してないからforループが 一回も回らず何も出力されないよ? そもそも画像表示云々の前に、「まともなHTML」が出力されていることを確認しましたか? doctype宣言は(HTTPヘッダは別にして)先頭に出力するものだよ。 それから、そのスクリプトでPerlモジュールを使ってるところなんてないです。 むしろ、なぜPerlモジュールの問題だと思い込んだのか(・・?)

sho2009
質問者

お礼

Perlコードは全文ではありません @fileの中にある文字列に付加して画像を表示させたい為forで回してます。Perlモジュールの問題と思ったのは httpd.exe にActivePerl-5.10.1.1006-MSWin32-x86-291086.msi(デフォルト環境でインストール)した環境で画像表示がされているのを確認して サーバーにUPしたところ画像が表示されなかった為です。NO.1スクリプトでPerlモジュールを使ってるところがないとのことなのでやはりサーバーの問題なんでしょうね  この程度のスクリプトがうまく動作しない様なサーバーは問題ありですか?又このような事はサーバーの違いにより起こるものなのでしょうか?

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.1

Perlモジュールは勝手に使われる物じゃなくて、 Perlスクリプトを書いた人自身で指定する物だから 自分で作っておいて分からないなんてことはないと思うけど? 普通は  use ~; みたいな感じで指定してるはず。 あと、モジュールが足りないならそもそも動作しないから 画像が表示されないなんて中途半端な状態にはならないような気もする。 そのCGIスクリプトが画像生成スクリプトでその出力がされないってことならありそうだけど。

sho2009
質問者

お礼

早速のご回答ありがとうございます 画像をforで回し表示いたいのですが以下3方法試しましたがいずれもうまく表示されません Perlモジュールは自分で指定するとのことですが下記スクリプトに必要なPerlモジュールをご教示お願い申し上げます     当方無知でサーバーにデフォルトインストールされているPerlモジュールで今まで問題がなかったのでとまどってます。ご指導よろしくお願いします。 $kaku =".gif"; @bb = ( "0.gif","1.gif","2.gif","3.gif","4.gif"); for($i=0; $i<=$#file; $i++){ $jj=$i.$kaku; $jjj=length($jj);  #レングス5になってました print "<img src=\"$jj\" width=\"55\" height=\"35\">\n"; print "<img src=\"$bb[$i]\" width=\"55\" height=\"35\">\n"; print <<EOM; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <img src= "$jj" width="55" height="35"> EOM }

関連するQ&A