示例:
foreach my $var (@$tp)
{
my $sql=$startsql1.$var.$endsql1;
print " SQL stamt \n $sql \n";
my $sel_stmt=$dbh->prepare($sql);
$sel_stmt->execute() or warn $DBI::errstr;
my @result = $sel_stmt->fetchrow_array();
$sel_stmt->finish();
$tphash{$result[0]} = [ @result ];
}
- @tp 是一个数组。当我打印 $var 时,它没有输出任何内容。
$tp
是一个数组的引用,所以@$tp
将它解除引用并转换为一个数组。 - rbm@tp
数组。你的代码中是否有@tp
并且正在尝试在此循环中迭代它?如果是这样,那么你可能是打错了@$tp
,而实际上你想要的是@tp
。确保在你编写的每个 Perl 程序的顶部加上use strict;
和use warnings;
。 - Paul L