CGI::start_form

CGI::start_formでformの開始タグまで用意する。

https://pointoht.ti-da.net/e6730590.html

action.cgiで、

と書く。
start_formは指定が無い場合は、"POST"で自分自身へのリクエストになる。
perlコマンドでHTML出力を確認すると、

$ perl action.cgi
Content-Type: text/html; charset=ISO-8859-1

<!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>CGI::start_form</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form method="post" action="http://localhost" enctype="multipart/form-data">
<input name="key1" value="value1">
<input name="key2" value="value2">
<input type="submit" value="submit">
</form>
</body>
</html>$

ということで、デフォルトは、

<form method="post" action="http://localhost" enctype="multipart/form-data">

こうなってる。
paramのキーの数が0なら、初回表示と判断し、フォームを表示。
そうでなければ、リクエストを投げた後と判定して、パラメータのキーと値を出力。
ちなみにparamはPOSTのパラメータでも取得できる。

これでsubmitすると
これでsubmitすると

これでsubmitすると、

こうなる
こうなる

こうなる。

Sample/perl/CGI/start_form/src/CGI at master · bg1bgst333/Sample · GitHub