标量中的行数 - Perl

时间:2014-03-12 22:08:27

标签: perl dbi arrayref

我看过很多关于此的文章,没有一篇对我有用。我有这个代码 -

$var1->{reference} = sql_get_rows();   


sub sql_get_rows(){
    etc
    return ($sth->fetchall_arrayref());
 };

我想知道的是知道在SQL语句中找到了多少行并存储在$ var1-> {reference}中(或者被告知更好的方法来解决问题。我已经写了$ var1-&gt ; {reference}存储在下方。

warn Dumper ($var1->{reference});

'$VAR1 = [
      [
        26412502,
        'initial'
      ],
      [
        49246682,
        'title'
      ],

请注意,我知道如何通过SQL语句查找COUNT,这不是我想知道的。

由于

1 个答案:

答案 0 :(得分:2)

如果使用DBI,请使用rows method

my $sth = $dbh->prepare(q{...});
$sth->execute(@bound_variables) or die $dbh->errstr;

print "Rows = " . $sth->rows;

正如@ThisSuitIsBlackNot所指出的那样,这可能不起作用,所以如果您要提取所有记录,只需计算数据结构:

print "Rows = " . scalar @{$var1->{reference}};