我想使用grep函数来过滤值列表,并将对已过滤列表的引用存储到哈希中.我所追求的是:
my $allValues = [ 'a','unwanted value','b','c',]; $stuff = { 'values' => grep { $_ ne 'unwanted value' } @$allValues };
只有当我尝试时,%$stuff哈希是:
$VAR1 = { 'b' => 'c','values' => 'a' };
有没有办法修复匿名哈希创建代码,以便我得到:
$VAR1 = { 'values' => [ 'a','c' ] };
但不是通过创建局部变量或调用子程序(换句话说,所有内联)?
解决方法
尝试:
$stuff = { 'values' => [ grep { $_ ne 'unwanted value' } @$allValues ] };