sub report { trim($_) for @_; return sprintf "...",@_; } #### sub report { my @strings = @_; trim($_) for @strings; return sprintf "...", @strings; } #### # Doesn't work: my @strings = map { trimInPlace(\$_) } @_; # Works: my @strings = map { trimmed($_) } @_; my $msg = trimmed( shift @_ ); sprintf "...", map { trimmed($_) } @_; sprintf "...", trimmed($_[0]), ...;