CGI

パラメータの取得

GET

param()で、クエリの名前の一覧をリストで取得できます。たとえばクエリが「?a=1&b=2」とすると、

my $q = CGI->new;

my @param = $q->param();
print "@param";               # a b
print $ENV{ 'QUERY_STRING' }; # a=1&b=2

クエリの値を取得するには、引数でそのクエリの名前を指定します。

print $q->param( 'a' ); # 1
print $q->param( 'b' ); # 2
print $q->param( 'c' ); # undef
FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER - CGI - perldoc.perl.org

POST

GETと同様にparam()で取得できます。ただしContent-Typeが、

以外の場合には、param( 'POSTDATA' )にリクエスト ボディの内容がそのまま格納されます。HANDLING NON-URLENCODED ARGUMENTS - CGI - perldoc.perl.org

ドキュメントの生成

my $q = CGI->new;

print $q->header;
print $q->start_html( 'TITLE' );
print $q->h1( 'A' );
print $q->end_html;
コード 出力
$q->header
Content-Type: text/html; charset=ISO-8859-1
$q->start_html( 'TITLE' )
<!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>TITLE</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
$q->h1( 'A' )
<h1>A</h1>
$q->end_html
</body>
</html>

ヘッダの指定

print $q->header( 'image/gif' );
Content-Type: image/gif; charset=ISO-8859-1
Perlの情報サイトから、まとめて検索