in reply to Re^5: Concatenate printing a string and array
in thread Concatenate printing a string and array

My own inclination is to see a statement like
    { local $" = 'foo';  print "array @ra values"; }
as being more elegant and 'quiet' and to prefer it over a statement like
    print "array ", join('foo', @ra), " values";
which just seems messy to me.

This preference continues until I forget (as in my reply) to actually use the local built-in, or fail to properly specify the limiting scope, or forget that a change to a package variable will 'propagate' to any subroutines called within the limiting scope after the change is made.

Then I realize that I have inflicted upon myself a headache, possibly a massive 3 A.M. headache, and I resolve not to localize $" (or any other package variable if I can help it) and to use join() instead, however messy.

And I keep my resolution for a while, and then start backsliding.