Perl 将fetchall_arrayref添加到数组中的for循环
如何循环我的arrayref并将行数据推送到我拥有的数组中 下面是我的代码,它只执行一次,没有循环,但我希望它对每一行执行一次,但不确定最佳方法:Perl 将fetchall_arrayref添加到数组中的for循环,perl,Perl,如何循环我的arrayref并将行数据推送到我拥有的数组中 下面是我的代码,它只执行一次,没有循环,但我希望它对每一行执行一次,但不确定最佳方法: my $data2 = $sth->fetchall_arrayref({}); my $excludeFirstName = $data2 ->[0]->{EXCL_FRSTNAME}; my $excludeLastName = $data2 ->[0]->{EXCL_LASTNAME}; my @e
my $data2 = $sth->fetchall_arrayref({});
my $excludeFirstName = $data2 ->[0]->{EXCL_FRSTNAME};
my $excludeLastName = $data2 ->[0]->{EXCL_LASTNAME};
my @excluded;
push (@excluded, $excludeFirstName." ".$excludeLastName);
或
如果您不需要$data2来做任何其他事情
my @excluded;
while (my $row = $sth->fetch_hashref()) {
push @excluded, "$row->{EXCL_FRSTNAME} $row->{EXCL_LASTNAME}";
}
或
从某种程度上讲,您似乎真的在尝试获取两个数据库列EXCL_FRSTNAME和EXCL_LASTNAME的串联。如果是这种情况,那么将SQL查询更改为将连接作为单个列返回并仅获取该列会更有效。
my @excluded = map { "$row->{EXCL_FRSTNAME} $row->{EXCL_LASTNAME}" } @$data2;
my @excluded;
while (my $row = $sth->fetch_hashref()) {
push @excluded, "$row->{EXCL_FRSTNAME} $row->{EXCL_LASTNAME}";
}
my $sql = 'SELECT CONCAT(EXCL_FRSTNAME, EXCL_LASTNAME) FROM ...';
my $excluded = $dbh->selectcol_arrayref($sql);