Ich mag die grep
Funktion verwenden, um eine Liste von Werten zu filtern, und einen Verweis auf die gefilterten Liste in eine Hash speichern. Was ich nach ist so etwas wie:Wie man einen Verweis auf die Liste von Perl grep zurück zu bekommen?
my $allValues = [
'a',
'unwanted value',
'b',
'c',
];
$stuff = {
'values' => grep { $_ ne 'unwanted value' } @$allValues
};
Nur, wenn ich versuche, dass die %$stuff
Hash ist:
$VAR1 = { 'b' => 'c', 'values' => 'a' };
Gibt es eine Möglichkeit den anonymen Hash-Erstellung Code zu beheben, so dass ich stattdessen erhalten:
$VAR1 = { 'values' => [ 'a', 'b', 'c' ] };
Aber nicht durch eine lokale Variable erstellen oder ein Unterprogramm (in anderen Worten, alle in-line) nennen?
Sie nicht einen Verweis auf eine Liste in Perl haben. Sie können nur einen Verweis auf ein Array haben. –