sub concat_list :lvalue { my $tot_len; $tot_len += length($_) for @_; my $buf = ''; # Allocate $tot_len bytes. $buf .= $_ for @_; $buf }