所以我有一個數組和一個簡單的函數,修剪空格:
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