Итак, у меня есть массив и простая функция, которая обрезает пробелы:
my @ar=("bla ", "ha 1")
sub trim { my $a=shift; $a =~ s/\s+$//; $a}
Теперь я хочу применить это к массиву с помощью функции map. Почему я не могу сделать это, просто указав имя функции, как это было бы со встроенными функциями?
например. Вы можете сделать
print map(length,@ar)
но вы не можете сделать
print map(trim,@ar)
вы должны сделать что-то вроде:
print map {trim($_)} @ar
print map(trim($_),@ar)