6

我想使用该grep函数过滤值列表并将对过滤列表的引用存储到哈希中。我所追求的是:

my $allValues = [
    'a',
    'unwanted value',
    'b',
    'c',
];

$stuff = {
    'values' => grep { $_ ne 'unwanted value' } @$allValues
};

只有,当我尝试时,%$stuff哈希是:

$VAR1 = {
          'b' => 'c',
          '价值观' => 'a'
        };

有没有办法修复匿名哈希创建代码,以便我得到:

$VAR1 = {
          '价值观' => [
                        '一个',
                        'b',
                        'C'
                      ]
        };

但不是通过创建局部变量或调用子例程(换句话说,所有内联)?

4

1 回答 1

11

尝试:

$stuff = {
    'values' => [ grep { $_ ne 'unwanted value' } @$allValues ]
};
于 2012-11-05T17:12:53.767 回答