コードはCGIプログラムが必要なようです。CGIとは、Webブラウザを介してプログラムを呼び出し、Webサイトを取り戻すことを意味します。vstmのコメントはもちろん非cgiプログラムには適切でしたが、あなたの例では、そのように機能するためにもう少し多くのものが必要です。
Webサーバーをインストールする必要があります。xamppを見てください。インストールと保守は簡単で、mysqlとapacheのインストールが付属しています。すべてのオーバーヘッドがないため、ライトバージョンをお勧めします。
インストールしたら、perlスクリプトを実行できるようにいくつかの構成を行う必要があります。私はあなたがすでにActivePerlをインストールしていると思います。次に、apache構成を微調整する必要があります。
あなたは言う行をc:\xampp\apache\conf\httpd.conf
見つける必要があります
<Directory "C:/xampp/htdocs">
コメントを読んでください(でマークされています#
)。ExecCGI
セクション内に追加する必要があり<Directory>
ます。perlスクリプトを実行するすべてのディレクトリに対してこれを実行します。次に、次のような行を探します
AddHandler cgi-script .cgi .pl .asp
コメントアウトされていないことを確認してください。
完了したら、プログラムをc:\xampp\htdocs
フォルダーに配置し(cgi-bin
これも機能するはずです)、shebang-line(の最初の行#!
)をActivePerlをインストールした場所に変更しますC:\perl\bin\perl.exe
。これは、perlスクリプトを実行するためにどのプログラムを使用する必要があるかをapacheに指示します。
また、コードにさらにいくつかの行を追加します。
#!C:\perl\bin\perl.exe
use strict;
use warnings;
use CGI;
use CGI::Carp('fatalsToBrowser');
print "Content-type: text/html \n\n";
print "Hello World.\n";
次に、ApacheWebサーバーを実行する必要があります。xamppインストールディレクトリには、apacheとmysqlを制御するいくつかのバッチファイルがあります。もありxampp-control.exe
ます。それを実行します。新しいウィンドウで、Apacheの横にある[スタート]ボタンをクリックします。
ブラウザで、に移動しhttp://localhost/<yourscript.pl>
ます。「HelloWorld!」と表示されます。
そうでない場合は、Skypeを実行していないことを確認してください。これは、apacheが実行しようとするポート80をブロックします。apacheのポートを別のものに変更する必要があります。このビデオを参照してください。
私が行ったコードの変更とその機能について簡単に説明します。
use strict;
常にコードに含める必要があります。それはあなたに特定のガイドラインを尊重し、より良いコードを書くことを強制します。これはHelloWorldプログラムでは奇妙に思えるかもしれませんが、とにかくやってください。
use warnings;
うまくいかないかもしれないことについてあなたに話します。警告はエラーではなく、自分で知らないかもしれないことについて役立つものです。これを使って。
use CGI
プログラムの出力をWebサーバーに送信します。CGIプログラムを使用する場合は、これが必要です。
print "Content-type: text/html \n\n";
ブラウザが何を期待するかを知るために必要です。この場合、HTMLWebサイトです。これはHTTPヘッダーと呼ばれ、mimeタイプが含まれています。
use CGI::Carp('fatalsToBrowser');
エラーをブラウザに送信します。これがないと、apacheのエラーログを調べない限り、それらについて知ることはできません。