我使用一些例程从Web表单中获取表单数据
该程序位于linux服务器上的/ var / www / cgi-bin中
我从perl 5.10.1到5.22.1,现在下面的代码停止了工作
它给了我这个错误:
在读取中使用未初始化的值从顶部开始的第三行
我无法弄清楚问题。
sub populatePostFields {
%postFields = ();
read( STDIN, $tmpStr, $ENV{ "CONTENT_LENGTH" } );
@parts = split( /\&/, $tmpStr );
foreach $part (@parts) {
( $name, $value ) = split( /\=/, $part );
$value =~ ( s/%23/\#/g );
$value =~ ( s/%2F/\//g );
$postFields{ "$name" } = $value;
}
}
sub populateQueryFields {
%queryString = ();
my $tmpStr = $ENV{ "QUERY_STRING" };
@parts = split( /\&/, $tmpStr );
foreach $part (@parts) {
( $name, $value ) = split( /\=/, $part );
$queryString{ "$name" } = $value;
}
}
populatePostFields();
$strCode = $postFields{ "code" };
$strMode = $postFields{ "mode" };
$strUser = $postFields{ "loginName" };
if ($strCode ne "secretcode") {
populateQueryFields();
$strCode = $queryString{ "code" };
$strMode = $queryString{ "mode" };
$strUser = $queryString{ "loginName" };
}
感谢任何帮助。提前谢谢。