Perl cgi不适用于Opts :: validate()

时间:2015-01-29 12:36:17

标签: perl cgi

下面的代码给了我

  

标题之前的脚本输出结束:secondcgi

但是当我评论Opts::validate();行时,它运行正常。 你能救我吗?

#!/usr/bin/perl
use CGI;
use VMware::VIRuntime;
my %opts;

Opts::add_options(%opts);
Opts::parse();
Opts::validate();


print "Content-Type: text/html\n\n";
print "<html>";
print "<head>";
print "<title>Hello - Second CGI Program</title>";
print "</head>";
print "<body>";
print "start";

Util::connect();
print "second start after connect";
&check_server;
print "<h2>Hello alsu</h2>";
print "$message";
print "</body>";
print "</html>";

如果我像这样移动它

print "Content-Type: text/html\n\n";
print "<html>";
print "<head>";
print "<title>Hello - Second CGI Program</title>";
print "</head>";
print "<body>";
print "start <br>";
Opts::validate();
print "<h2>can't see this part</h2>";
print "$result";
print "</body>";
print "</html>";

我在这条线下面什么也看不见

1 个答案:

答案 0 :(得分:1)

该错误特别意味着在脚本标题之前打印了脚本中的某些

print "Content-Type: text/html\n\n";

如果没有Content-Type,网络服务器会生成该错误,因此可能意味着您的Opts::validate();正在生成某种输出或警告。

尝试将其移至内容类型行之后,并查看实际打印的内容。 (查看您网页中的来源)。