http://www.perlmonks.org?node_id=948860


in reply to Re^2: Formatting Strings Without Interpolating Whitespace
in thread Formatting Strings Without Interpolating Whitespace

Just do exactly what I said, don't include the newlines you don't want:
my $msg_body_1 = "line 1\n" . "line 2\n" . "line3a \t \line3b\n" . "line4" . "\n\n" ;

Replies are listed 'Best First'.
Re^4: Formatting Strings Without Interpolating Whitespace (join)
by tye (Sage) on Jan 19, 2012 at 23:14 UTC

    Having worked on a lot of code that did such things, I found that I had much fewer regrets with the almost subtly different:

    my $msg_body_1 = join '', "line 1\n", "line 2\n", "line3a \t \line3b\n", "line4", "\n\n", ;

    '.' binds tighter than a lot of things that are pretty common to include in a list of things to be joined together. The "no trailing '.' allowed" problem (an endless source of pain for me outside of Perl but in the form of "no trailing comma allowed") goes away when using comma.

    - tye