« ApacheでhelloWorld改 | トップページ | Ajax/PerlでhelloWorld改 »

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を書く。

GGIを置くフォルダに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であると解釈され動作します。

|

« ApacheでhelloWorld改 | トップページ | Ajax/PerlでhelloWorld改 »

トラックバック


この記事へのトラックバック一覧です: CGI/PerlでhelloWorld改:

« ApacheでhelloWorld改 | トップページ | Ajax/PerlでhelloWorld改 »