よろしくお願いします。
a.cgiからb.cgiを呼び出すときに、引数を渡したいのですが、
以下のような渡し方では根本的に間違っているのでしょうか?

【a.cgi側】
print "<FORM METHOD=\"POST\" ACTION=\"b.cgi?x=1>\n";

【b.cgi側】
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
}

としているのですが、$value にはなにも入っていませんでした。