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


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

No, I expected perl to behave exactly as I said it is. My question is asking if there is a way to modify that behavior.
  • Comment on Re^2: Formatting Strings Without Interpolating Whitespace

Replies are listed 'Best First'.
Re^3: Formatting Strings Without Interpolating Whitespace
by JavaFan (Canon) on Jan 19, 2012 at 22:27 UTC
    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" ;

      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