Perl mysql,为什么这个fetchrow_array不起作用?

dgB*_*gBP 1 mysql perl

我有这样的Perl代码:

$pre = $dbh->prepare("select distinct skills from people");
$pre->execute;

my @preList;
while (my $row = $pre->fetchrow_array()) {
    push (@preList,$row);
}
print "Pre list: $_" foreach @preList;
Run Code Online (Sandbox Code Playgroud)

当我在sql中尝试完全相同的语句时,它可以很好地工作,但是当我运行这个程序时,它什么都没打印出来(暗示是空的@preList).我可能正在做一些非常愚蠢的事情,但看不到它.我之前使用过这种格式来获取数据,效果很好.谁能看到我做错了什么?

Dan*_*zer 7

现在你正在做,fetchrow_array它返回一个列表,但你试图将它存储在一个标量中,你可以将其更改为fetchrow_arrayref或更改$row@row,或更改my $rowmy ($row).