我有从SQL对象返回的数组值。使用连接来连接数组值
my @keys = $db_obj->SelectAllArrayRef($sql);
print Dumper @keys;
给
$VAR1 = [ [ '8853' ], [ '15141' ] ];
我需要创建此数组字符串:8853, 15141
。
my $inVal = join(',', map { $_->[0] }, @$keys);
my $inVal;
foreach my $result (@$keys){
$inVal .= $result->[0];
}
my $inVal = join(',', @$keys);
我得到的价值是ARRAY(0x5265498),ARRAY(0x52654e0)
。我认为它对数组的引用。任何想法我在这里想念什么?
'$ keys'与你的'$ VAR1'例子有什么关系? – xxfelixxx
my @keys = $ db_obj-> SelectAllArrayRef($ sql); print Dumper @keys; Dumper的结果是$ VAR1 = [[''8853'],['15141']]; – Kris1511
你可以捕获一个数组引用为'my($ aref)= $ db_obj - > ....'在perl中,'$ keys'和'@ keys'是不同的变量(!)。 '$ keys'是一个标量变量,持有一个值或者对其他东西的引用。 '@ keys'是一个数组。有关血淋淋的细节,请参阅perldoc perlref。 – xxfelixxx