• ベストアンサー

実行されない

今日、初めてPerlを触ったのですが・・ 実行がされなくて参っています。 サーバーからクリックしたらファイルのダウンロードが 始まるし・・分かりません。 print文を 表示させるだけの処理なのに かなり時間かかっています・・おねがいいあたします

  • Perl
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>ファイルのダウンロードが始まるし それをダウンロードしてどこかに保存して、テキストエディタ   (windowsならメモ帳でも良いが terapadを勧めます http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html ) で開いてみてください。 次の3つのうちどれかだと思います。 1. print しようとした文字列だけが入っている場合 2. #! /usr/bin/perl から始まるスクリプトそのものが入っている場合 3. エラーメッセージが入っている場合 1. は print"Content-type: text/plain\n\n"; を使っている場合  この場合はCGIが正常に動作していますが  IEのダサイ仕様によりダウンロードされてしまいます  print"Content-type: text/html\n\n"; を使ってHTML文を出力してください 2.は #1さんの書いた4にあたりますが、使おうとした拡張子がCGIとして設定されていません .htaccess というfileを置いて AddHandler cgi-script cgi と記述する http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/mime.html#AddHandler または、プロバイダによっては 特定のディレクトリに置かないとCGIが動かなかったり プロバイダ側でチェックしてから設定してくれる場合も有ります いずれにしろプロバイダの説明ページを良くお読みください 3 の場合はさまざまなので 内容を補足に貼り付けてください

quinted_sa
質問者

お礼

こんなにたくさん書いていただき、大変ありがとうございました(泣) 色々いじくりまくっていたらなんだかできるようになりました! パーミッションとやらが良く分かっていなかったのですが、サイトを見てFTPで属性を変えたりなどしたらなりました! ありがとうございました!

その他の回答 (1)

noname#25358
noname#25358
回答No.1

 下記をチェックしてください。 1.プログラムのパーミッションは設定しましたか? 2.ディレクトリのパーミッションは確認しましたか? 3.プロバイダはあなたがCGIを使うことを許可していますか? 4.プロバイダのFAQに .htaccess 等の設定が必要だと書いてありませんか?

quinted_sa
質問者

お礼

回答ありがとうございます!! 色々いじったり、パーミッションの設定について調べていました・・ 属性というものをFTPで755に変更したところなりました!! やはり、1.が問題だったのでしょうか?? 色々いじったので良く分かりませんが良かったです(汗) すみません;;

quinted_sa
質問者

補足

回答ありがとうございます!! 色々いじったり、パーミッションの設定について調べていました・・ 属性というものをFTPで755に変更したところなりました!! やはり、1.が問題だったのでしょうか?? 色々いじったので良く分かりませんが良かったです(汗) すみません;;

関連するQ&A

  • perl が 実行できない

    perl 初心者です。 apache を起動させ(起動画面は表示)、perl のファイルを IE で表示させようとして、print文を実行しても、print文がそのまま表示されるだけになっています。 perl のパスは、#! d:/perl/bin/perl です。 (コマンドラインから実行すると実行できるので、インストールは正常です。) (XP以前だったと思いますが、そのときは IEで、長文のプログラムが起動できていましたが。)

  • perlからphpを実行して結果を得る方法

    perlのプログラムから同一サーバー内のphpを実行してその結果を取得したいのですが、うまくいきません。 print.phpというファイルの中身が <? echo "<div>1234567890</div>"; ?> だとして、これをブラウザで見た場合のソースは <div>1234567890</div> となるわけで、この1234567890をperlのプログラム内で表示するために main.cgiというプログラム内で $data = '/***/www/print.php'; open(FH,$data); @list = <FH>; foreach $data_line ( @list ) { if ($data_line =~/<div>/ ){ $data_line =~ s/<div>//i; $data_line =~ s/<\/div>//i; print = $data_line; } } close(FH); のような処理をすると echo "1234567890"; という実行前のphpの中身が表示されてしまいます。 表示したい結果はこの場合ブラウザでphpを実行した時のソースからdivタグをperl側で抜き取った 1234567890 なのですが、同じ事をperlの書き換えで実現する上手い方法があればご教授いただけますと助かります。

    • ベストアンサー
    • CGI
  • FFFTP ミラーリングダウンロード

    FFFTPでミラーリングダウンロードを行いました。 処理内容表示へ進む、をクリックすると  ↓が表示されます 244個のファイルを転送します 作成するフォルダはありません 削除するファイル、フォルダはありません   これは、ダウンロードに失敗した ファイルが244個ある 「実行」をクリックすると244個のファイルが サーバからPCにダウンロードされる の理解で正しいでしょうか? サーバのファイルを 全てダウンロードしたいのですが

  • javascriptの中で、perlのコマンドを実行できないか。

    javascriptの中で、perlのコマンドを実行できないか。 java:クライアント側の処理。 perl(cgi):サーバ側の処理。 なので、愚問かもしれないのですが、 ↓====================================== <script language="JavaScript"> <!-- function aaa(){  : EOM (この間に、perlの処理) print <<EOM; : } // --> </script> ↑====================================== と言った感じで、javascriptのfuncitonの中で、 perlを使って、データベースへの操作をしたいのですが、 やはり、無理でしょうか。 あるいは、代案などあればご教授願えませんでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • プログラム名でプログラムが実行できない

    #!/usr/bin/perl # calc --計算式 print ("3 * 3 = "); print (3 * 2 ); print ("\n"); #改行 上記のような簡単なプログラムを作ってみました。 ところが、2段目にある「calc」と入力しても 「can not found」と出て実行してくれません。 保存したファイル名で「perl ファイル名」だときちんと実行してくれます。 どこがおかしいのでしょうか? やってみた事は ・which perl →/usr/bin/perl ・「chmod 775 ファイル名」   です。以上、よろしくお願いします。

    • ベストアンサー
    • Perl
  • HTML上(javascript)からCGIを実行する方法

    javascriptから外部実行ファイル(javascriptファイルではなくperlなどのCGI) を実行する方法を探しています。 下記のようにindex.htmとtest.cgiファイルを用意して、index.htm内の javascriptから外部cgiを実行させ、cgiの結果(test.cgiでは単に 『test』と表示するのみ)を表示したいと考えています。 利用増ですが、cgiやssiが使用できないサーバにindex.htmを置いて、 cgiが使用できるサーバ上のcgi結果を取得したいものです。 通常のcgiのように、1ページでcgi結果を表示するものではなく、 HTMLファイルの一部にcgi処理結果を表示させたいものです。 そもそも、SSIを使用しなければ下記のようなHTML内にcgiなどの 実行結果を表示する事は出来ないのでしょうか。 よろしくお願い致します。 ※下例のプログラムではcgi結果は表示されませんでした・・・。 ---<index.htm>---------------------------------------- <HTML> <BODY> <SCRIPT language="Javascript" src="http://xxx.xxx.xxx.xxx/test.cgi"></SCRIPT> </BODY> </HTML> ---<test.cgi>---------------------------------------- #!/usr/bin/perl print "test"

  • Windowsサーバ+Perl +アプリ実行は可能?

    Perlでコマンドを実行したいとき、 Linux/Unixサーバのなら system("コマンド名"); と、できるはずですが、 Windowsサーバ+Perlの場合、サーバにインストールされている プログラム/アプリケーションを実行したりすることは可能でしょうか。 具体的なイメージは ユーザーがブラウザからアクセスすると CGIは、サーバ側にインストールされているExcelを起動して マクロを実行、データをCSV形式ファイルに保存。 CGIは保存したCSV形式のファイルを展開し ブラウザ上で表示。 ということは可能ですか? もし可能ならPerlの書式を教えていただければ うれしいですー。

    • ベストアンサー
    • CGI
  • Perlスクリプトが、ローカルでは実行できるが、HTTP経由では実行できない

    現在Perlスクリプトを作成し サーバにアップしました。 SSHでサーバにログインし #perl a.cgi と実行したところ(CGIとして動作させるため。中身はPerlスクリプト) Content-type: text/html <html> <body> あああああ </body> </html> のようなメッセージが表示され正常に動作しているとおもいます。 しかし、 http://www.hoge.com/a.cgi をURLとしてブラウザ上で実行すると 500 Internal Server Error になります。 パーミッションは755で正常 Perlのパスは#!/usr/bin/perlとしており、これも正常です。 文字コードはeuc-jp 改行コードLF サーバはApache/1.3.33 Perlバージョンは5.8.4 自分のパソコン上でperl+HTTPサーバ(httpd)を使うと HTMLふぁいるとして出力されます。 サーバ上でHTTPを使ってアクセスしたときのみエラーとなります。 このような現象が起こるのですが原因がわかりません。 お願いします。

    • ベストアンサー
    • Perl
  • Perl から csh 実行

    やまとです。 いつもありがとうございます。 Perl + csh を同時(?)に実行する方法を教えてください。 OSはSunです。 具体的にどのような処理を行いたいか簡単に説明しますと。 1.Perlでcshを実行(system関数?)し、cshで環境変数をセット(source)する。 2.cshで環境変数をセットしたら、ファイルを出力する処理が行われます。 3.Perlでcshによって出力されたファイルの内容を画面に表示します。 以下ソースを掲載します。(抜粋して) ================================================== = Perl ( test_perl.pl ) $data = "ABC"; $ret = system(`test_csh.sh $data`); ・ ・ ファイル(test.log)を開き、読込、画面に表示します(まだ作成してません。) ================================================== = Csh ( test_csh.sh ) source test_source.sh echo $1 > test.log ================================================== = test_source.sh setenv CLASSPATH .:/aaa・・・・・・ ↑ PATHの設定を行ってます。 ================================================== 画面に、「ABC」と出力させたいのです。 Perlからcshが実行されていないように思えるのですが、 Perlのsystem関数の使い方が誤っているのでしょうか? それとも、ClassPath等の設定をしなければならないのでしょうか? ちなみにコマンドから、 # test_csh.sh ABC と実行しますと、ファイルが出力され、かつ、sourceも実行されています。 Perlから実行する方法を教えてください。 説明が不十分であれば、補足いたしますのでご指摘ください。 宜しくお願いします。

    • ベストアンサー
    • Perl
  • 実行ファイルの作成

    開発関連初心者です。 サーバーにあるフォルダをダウンロード、 ダウンロードしたフォルダの中の実行ファイルを起動するようなファイルを作成したいと思っています。 例えば、 1.サーバーからTESTフォルダをクライアントの   C:\Tempにダウンロード。 2.ダウンロードしたTESTフォルダの直下の   TEST.exeを実行。 3.TEST.exeの処理終了後C:\Temp\TESTフォルダを削除。 という実行ファイル(com、exe)をフリーソフトなどで簡単に作成することは可能でしょうか? サーバー:HP-UX 開発環境:WindowsXP 情報等お持ちの方いらっしゃいましたら 教授の程、よろしくお願いいたします。

専門家に質問してみよう