所以我有一个数组和一个简单的函数,修剪空格:
my @ar=("bla ", "ha 1")
sub trim { my $a=shift; $a =~ s/\s+$//; $a}
现在,我想这个应用与地图功能的阵列。为什么我不能通过给函数名称来做这件事,就像用内置函数一样?
例如你可以做
print map(length,@ar)
,但你不能做
print map(trim,@ar)
你必须做的是这样的:如果给定的$ _
print map {trim($_)} @ar
print map(trim($_),@ar)
在这些各种各样的情况,我问自己“我真的在乎如果我必须把它作为一个论点?“答案通常不是。有更好的事情要关心。 :) – 2009-12-02 20:33:30
@brian - 你是对的 - 我只是想知道为什么行为是不同的 – naumcho 2009-12-02 21:14:50