【发布时间】:2020-03-18 05:05:36
【问题描述】:
我是 Perl 新手,现在在 Perl 中处理以下数组时遇到问题。
while ( ($stu_id,$gate_nbr) = $cursor->fetchrow() )
{
foreach my $stu_details (@stu_dbs)
{
my($stu_no,$sch_id,$lnk_svr_tx) = @$stu_details;
if ($stu_no == $stu_id)
{
SortSchRec($stu_no,$gate_nbr,$sch_id,$sch_tx);
}
}
$log->writeI("Stud ID:". $stu_id );
$log->writeI("Gate ID:". $gate_nbr);
}
$cursor->finish();
上面的代码处理第一个数组值,但不选择下一个数组值。你能告诉我这个 foreach 语句有什么问题以及如何解决它吗?
【问题讨论】:
-
循环没有明显问题。要么数组实际上只有一个元素,要么
SortSchRec()做了一些意想不到的事情。你打印@stu_dbs了吗? (有用于显示复杂数据的模块——我使用Data::Dump及其dd和pp,Data::Dumper是核心,还有其他模块。)