我正在做一些练习来提高我的 Perl 技能,其中一个涉及连接到 SQL 数据库、运行查询以及将结果作为数组返回。这是我到目前为止所拥有的:
my $search = $_[0];
our $dbh = DBI->connect{"dbi:mysql:dbname=database", "root", "password")
or die $DBI::errstr;
my $sql = $dbh->selectall_arrayref("SELECT Player from Players_Sport where Sport like '$search'")
or die $DBI::errstr;
my @array = map { $_->[0] } @$sql;
$dbh->disconnect
or warn "Disconnection failed: $DBI::errstr\n";
return @array;
我的下一步是更改代码以将结果作为散列而不是数组返回,但我不确定如何继续。我希望使用selectall_hashref
,但我发现的所有在线示例都使用 WHILE。我想返回结果,然后将哈希创建为单独的步骤。