【发布时间】:2013-12-28 16:51:21
【问题描述】:
我有以下代码:
use strict;
use warnings;
use List::Util qw(max);
use DateTime;
use JSON;
use DBI;
...
my @names = @{ select_users_to_update('last_name') };
sub select_users_to_update {
my ( $self, $column ) = @_;
my $sql = qq{
SELECT DISTINCT `$column`
FROM `db_name`
WHERE `first_name` IS NULL
};
my $rows = $self->{dbh}->selectall_arrayref( $sql, { Slice => {} } );
my @fields = map { $_->{$column} } @$rows;
return \@fields;
}
我收到以下错误:
Can't use string ("last_name") as a HASH ref while "strict refs" in use at update_hpcdb_people.pm line 51.
此代码取自另一个脚本,在该脚本中运行良好。我对 perl 对 map 命令的反对感到困惑——上面的代码有什么问题?
【问题讨论】: