Perl CGI モジュールの使用に関する質問:
次のように定義された 2 つのパラメーターを受け入れる foo というサブルーチンがあるとします。
sub foo {
local($a, $b) = @_;
print "a= [$a]";
}
私のメイン ルーチンでは、いくつかのフォーム パラメータを取得し、次のように foo に渡します。
use CGI;
$cgi = CGI->new;
foo($cgi->param('field1'), $cgi->param('field2'));
フォームが field1 の値を渡さなかった場合 (私の場合、選択する値のない field1 という名前の SELECT フィールドが使用されました)、サブ foo は $a を $cgi->param で渡された値に設定します('field2')、これは空でない値でした。
なぜこれが起こるのか、なぜ $a が単なる空白 ('') 値ではなく、$b = $cgi->param('field2') から送信された値なのかを理解するのを手伝ってもらえますか?
論理的な理由があると確信していますが、私は Perl のプロではないので、Perl についてまだ学んだり理解したりしていないことは確かです。
前もって感謝します!