my @lista = ('THE', 'KITE', 'RUNNER');
my @listb = grep { $_ ne 'KITE' } @lista;
print "" . Data::Dumper->Dump(\@listb);
打印数组包含 '的' 'RUNNER' 工作在Perl,
my @lista = ['THE', 'KITE', 'RUNNER'];
my @listb = grep { $_ ne 'KITE' } @lista;
print "" . Data::Dumper->Dump(\@listb);
打印什么。
为什么在数组定义在[]
内时,grep不起作用?
如何对[]
中定义的数组执行grep操作?
我看不出它如何 “_prints nothing_”。你的'@ lista'有一个是arrayref的元素,正如ikegami的回答中所解释的那样。这恰恰不等于“KITE”,所以'grep'中的条件为真,并且该元素通过。所以'@ listb'包含一个元素,一个分配给'@ lista'的引用。这当然不是你想要的,但是应该打印'print Dump(\ @ listb)'。 – zdim