CGI/PerlでhelloWorld改
Perlを用いたで単純なインタラクティブ画面を作成します。
ボタンを押すたびに「hello world」「This is CGI/Perl-test-1.」という文字列
を交互に出します。さらに補助的にクライアントからサーバ
に送られた数値を表示しています
|
|
|
この画面のHTMLは次のものです。赤文字の部分はボタンを押すたびに変化します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <form method='GET' action='http://localhost/cgi-bin/hello_perl.cgi'> <input type='hidden' name='C' value='8'> <input type='submit' value='Click Me'> </form> <P>Hello Morld. (7)</P> </body></html>この記述はサーバ側に置いた CGIプログラムがダイナミックに生成します。
次の記事で作成したベースの上に作成しています。
perlのインストール
ActivePerlをインストールする。
http://www.activestate.com/activeperl/
確認:
コマンドプロンプトでperl -vを打ち、インストールされたことを
確認する。
apacheの設定
デフォルトのままで、デフォルトcgiフォルダに置いた.cgiが動く 設定になっています。
デフォルトではドキュメントのフォルダは
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\CGIのフォルダは
C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin\となっています。
CGIを書く。
ここでは次のファイルとしました
C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/test_perl.cgi記述は次のものです。
#!c:/Perl/bin/perl.exe
use CGI;
$http = new CGI;
print $http->header; # Content-Type: text/html
print $http->start_html; # <HTML>...<BODY>
$c = $http->param('C');
print "<form method='GET' ";
print " action='http://localhost/cgi-bin/hello_perl.cgi'>";
print "<input type='hidden' name='C' value='".($c+1)."'>";
print "<input type='submit' value='Click Me'>";
print "</form>";
if ( ($c%2)==1 ) {
print "<P>Hello Morld. (".$c.")</P>";
}
else{
print "<P>This is CGI/Perl-test-1. (".$c.")</P>";
}
print $http->end_html; # </BODY></HTML>
このPerlプログラムは
HTMLページ文字列を生成します。
起動する
HTMLからの呼び出しの場合、次のようにCGIファイルを指定します。
<html><body> <p> <A HREF="http://localhost/cgi-bin/hello_perl.cgi">test-perl</A> </p>これを例えばフォルダ/ファイル
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\hello_cgi.htmに置き、ブラウザで次のアドレスにアクセスします。
http://localhost/test/hello_cgi.htmリンクが出ます
|
リンクをクリックすると、PerlによるCGIが動き、画面が出ます。
|
ブラウザで直接CGIのアドレスを指定しても構いません。
説明
HTMLからのCGIの呼び出しは、単純なリンクを書く形となります。 ファイル名が.cgiである、あるいはcgi専用のフォルダにある 場合CGIであると解釈され動作します。
| 固定リンク

