运行我的代码时出现此编译错误。任何人都可以帮助这个代码有什么问题。 ? 操作系统是AIX“无法修改标量赋值中的常量项目”?在AIX
错误 -
在pet_logical_date.pl线29无法修改标量分配常数项的 pet_logical_date.pl接近“1}”执行中止由于编译错误。
Line 29 is - *print $cgi=>table({border=1});
CODE是 -
#!/usr/bin/perl -w
#####################################################################################
$\="\n";
$ENV{ORACLE_HOME}='/oravl01/11.2.0.3';
$LD_LIBRARY_PATH='/oravl01/11.2.0.3/lib';
use Shell;
use DBI ;
use CGI ;
my $cgi = new CGI;
print $cgi->header;
print $cgi->start_html(-title=>'Basic CGI');
my $dsn = "DBI:Oracle:$db_inst";
$dbh = DBI->connect('dbi:Oracle:ABC',"DEF","IJK") or die "Database connection not made: $DBI::errstr";
my $sql = qq{SELECT logical_date,logical_date_type from logical_date where expiration_date is null };
my $sth = $dbh->prepare($sql) || die $dbh->errstr;
$sth->execute() || die $dbh->errstr;
print $cgi->table({border=1});
print "<tr align=center><th>$sth->{NAME}->[0]</th><th>$sth->{NAME}->[1]</th></tr>";
while (@data = $sth->fetchrow_array()) {
$Logical_Date_O = $data[0];
$Logical_Date_B = $data[1];
$Logical_Date_R = $data[2];
print "<tr><td><font color='black'>$Logical_Date_O</font></td>
<td>$Logical_Date_B</td><td>$Logical_Date_R</td></tr>\n";
}
print $cgi->end_table;
print $cgi->end_html;
感谢您的帮助。它被移动了。但现在出现以下错误: - 在第29行调用未定义的子程序和main :: table。 –
@manavsharma - 在你的代码中它是'$ cgi-> table',但是在你的代码上面的“Line 29”中它是'$ cgi => table ' - 如果您将此部分从' - >'更改为'=>',那么会出现问题。完整的行应该是另一个答案,'$ cgi-> table({-border => 1})'(不知道在'border'前面是否需要'-' - 罗杰可能是正确的,我只是不要使用CGI。) – Tanktalus