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


in reply to String concatenation

Use whichever most clearly shows the intent of your code. I can see cases for concatenation and interpolation and join().

For example, I prefer the first one in this example. I think it feels more like reading prose.

print "Action status: $status"; # Preferred by me print 'Action status: ' . $status;

But say you're building a string to show the time. I think the first highlights the elements that are being used to build $date.

$date = join( '/', $day, $month, $year ); # Preferred by me $date = "$day/$month/$year";

And sometimes it doesn't make sense to interpolate or join and you just concatenate.

$response = $head . $html_opening . $body . $html_closing; # preferred $response = join( '', $head, $html_opening, $body, $html_closing );
Bottom line: Go for what is most expressive, and makes the code clearest to the reader. Assume that any microseconds you shave will be insignificant.

xoxo,
Andy