CGIの基本サンプル
専攻科実験でのRSSを用いた、情報活用の実験で、 パラメータの入力などの希望があったので、 最も簡単なCGIのサンプルを示す。
CGIサンプル
最初に、CGIを使えるようにするために、.htaccess ファイルにて、 CGI を使えるような設定を加える。
(( .htaccess )) Options ExecCGI AddType application/x-httpd-cgi .cgi
CGI モジュールを使う、極力短いサンプルコード。 セキュリティについては、考慮していないので十分に注意すること。
#!/usr/bin/perl # なお、このサンプルプログラムは、 # セキュリティについては考慮していない。 use CGI qw/:standard/ ; use Jcode ; my $cgi = new CGI ; # cgiのパラメータをもらう my $DATA = Jcode->new( param('DATA') )->utf8 ; # データ前後の空白を取る $DATA =~ s/\s+$// ; $DATA =~ s/^\s+// ; if ( "$DATA" eq "" ) { # パラメータが無い時は、ファイルから読み出す if ( -r "data.txt" ) { open( FH , "data.txt" ) or die( "Can't access for read" ) ; $DATA = <FH> ; close( FH ) ; } } else { # パラメータがあったら、ファイルに書き込む open( FH , ">data.txt" ) or die( "Can't access for write" ) ; print FH "$DATA\n" ; close( FH ) ; } # CGIの最初の決まり文句を出力 print header(-charset=>'UTF-8') ; print start_html(-title=>'Title', -charset=>'UTF-8', -encoding=>'UTF-8', -lang=>'UTF-8') ; # 画面に出力するHTMLの内容 print "<form method='GET' action='test.cgi'>\n" ; print "<input type='text' name='DATA' value='$DATA' />" ; print "</form>\n" ; print "入力値は<pre>$DATA</pre>\n" ; # CGIの終わりの決まり文句を出力 print end_html ;