Ich habe Array-Werte, die vom SQL-Objekt zurückgegeben werden.Verwenden von Join zum Verketten von Array-Werten
my @keys = $db_obj->SelectAllArrayRef($sql);
print Dumper @keys;
gibt
$VAR1 = [ [ '8853' ], [ '15141' ] ];
I String aus diesem Array erstellen müssen: 8853, 15141
.
my $inVal = join(',', map { $_->[0] }, @$keys);
my $inVal;
foreach my $result (@$keys){
$inVal .= $result->[0];
}
my $inVal = join(',', @$keys);
Wert, den ich bekomme, ist ARRAY(0x5265498),ARRAY(0x52654e0)
. Ich denke seine Bezugnahme auf das Array. Irgendeine Idee, was fehlt mir hier?
Wie steht '$ keys' zu Ihrem' $ VAR1' Beispiel? – xxfelixxx
meine @keys = $ db_obj-> SelectAllArrayRef ($ sql); Drucken Dumper @Schlüssel; Ergebnis von Dumper ist $ VAR1 = [['8853'], ['15141']]; – Kris1511
Sie würden eine Array-Referenz als 'my ($ aref) = $ db_obj -> .... erfassen.' In Perl sind '$ keys' und' @ keys' unterschiedliche Variablen (!). '$ keys' ist eine skalare Variable, die einen Wert oder eine Referenz auf etwas anderes enthält. '@ keys' ist ein Array. Siehe "perldoc perlref" für die blutigen Details. – xxfelixxx