2011-01-26 5 views
1

私はPerlを初めて使い、スクリプトを正しく実行するのに問題があります。実際にPerlスクリプトを実行するには、どこで正しく動作するのですか?私は自分のラップトップ上のすべてをテストして、HTMLページからスクリプトを呼び出そうとしています。コードが生成するように設計されている情報とは対照的に、実際のスクリプト(コード)自体がWebブラウザに表示されます。したがって、私はPerlファイルを別の場所に置くことになっています。現在、私はPerlスクリプトとHTMLファイルを同じディレクトリに持っています。どんな助けでも大歓迎です!以下を参照してください:Perlスクリプトは実行されません。実際のコードをブラウザに表示するだけです。

<head> 
    <title>Student Web Page</title> 
</head> 

<body> 

    <h1>WELCOME! You have reached Kito's Student Web Page</h1> 
    <br /> 
    <p>To run the folloiwing applications, click on the appropriate line:</p> 

    <form ACTION="first.pl" METHOD="get"> 
    <p> 
    <input TYPE="submit" VALUE="Step 5 - Perl Environment Variables"> 
    </p> 
    </form>    

#!c:\perl\bin\perl.exe -w 
use strict; 

print "Content-type: text/html\n\n"; 
print "<HTML><HEAD><TITLE>Environment Variables</TITLE></HEAD><BODY>"; 

foreach (keys %ENV) { 
    print "<BR><FONT COLOR=green>$_</FONT> is set to <FONT COLOR=red>$ENV{$_}</FONT>"; 
} 

print "</BODY></HTML>"; 
+0

また、Perlスクリプトをコマンドラインから実行すると、正しく動作し、環境変数が表示されます。 – Mike

+3

これはWebサーバーの設定上の問題です。 Webサーバーの種類とオペレーティングシステムに関する情報を入力してください。また、ServerFaultに移動することを検討してください。注:サーバーが正しく構成されている可能性があり、ファイルの名前を正しく(.pl)、正しいディレクトリーに置くだけで済みます。 Perlスクリプトがどこで実行されるかについて、ウェブサーバーの設定を確認してください。 –

+0

テッドが言ったこと。実行しているWebサーバによっては、通常、特定の "scripts"ディレクトリ(デフォルトではApache用の 'cgi-bin ')にファイルを置き、ディレクトリ名が問題になりやすい。 – DVK

答えて

7

あなたはCGIファイルを実行するためにウェブサーバを設定する必要があります。これがどのように行われるかは、Webサーバーとオペレーティングシステムによって異なります。

いくつかの例:Linuxで http://www.thesitewizard.com/archive/addcgitoapache.shtml

+0

チェックアウトしてください。リンクありがとう。 – Mike

+0

それはそれをしました! Tanks mon :) – Mike

3

Apacheではmod_cgiのモジュールをインストールします。 IISがインストールされているWindowsでは、activestate perlをインストールします。

+0

彼のシバンラインに基づいて、彼はLinuxではないと確信しています:) '#!c:\ perl \ bin \ perl.exe -w' – DVK

+0

@DVK:そうですか、 –

+0

@Cyber​​ - 遠隔で可能だが、十分なスキル/経験を持った人がWindows上でスクリプトを開発してから移植することはほとんどありえないと思う。それはLinuxにはcgi-binについて知らないことです...プラス、IIRC Windows Apacheは同じディレクトリ構造を持っています。 – DVK

関連する問題