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すると、
こうなる。
Sample/perl/CGI/start_form/src/CGI at master · bg1bgst333/Sample · GitHub