CGI.pmでURLパラメータを受け取るには
フォームからのデータを受け取るには、param()メソッドを使用します。
では、URLパラメータを受け取るには……、url_param()メソッドを使用します。
これ、ファイルアップロードの時などに、補助情報をURLパラメータで渡せるので便利です。
<form method="POST" action="xxx.cgi?user_id=yyy" ENCTYPE="multipart/form-data" name="FM"> <input type="file" name="upload_file" size="40"> <input type="submit" value="アップロード">
use CGI $query = new CGI; # $filenameへはファイル名でもあり、ファイルハンドルでもあるものが格納される。 # アップロードされるファイルの実体は、このファイルハンドルを元に取得ができる。 $filename = $query->param('upload_file'); # form要素のaction属性値のURLパラメータuser_idの値(yyy)が格納される。 # つまり、URLパラメータを受け取ることが出来るのです。 $user_id = $query->url_param('user_id');