【发布时间】:2023-03-25 20:00:01
【问题描述】:
我是 Perl 新手,无法理解这段代码。 if 条件在这里检查什么?
my $ret = 0;
my @r = ();
if(@r = $sth->fetchrow_array()){
$ret = $r[0];
}
【问题讨论】:
我是 Perl 新手,无法理解这段代码。 if 条件在这里检查什么?
my $ret = 0;
my @r = ();
if(@r = $sth->fetchrow_array()){
$ret = $r[0];
}
【问题讨论】:
条件是一个列表赋值。 if 强制执行布尔值,即标量上下文;标量上下文中的数组返回它们的大小。因此,如果数组已填充,则条件为真,如果为空,则条件为假。
fetchrow_array 方法很可能来自DBI。它从数据库结果中返回一行。如果没有更多行或出现错误,则不会返回任何内容:这会使条件为假。
【讨论】: