http://qs1969.pair.com?node_id=398615


in reply to Manually adding delimiters instead of join()

The answer is that your particular delimiter '::' has syntactic significance in Perl -- it is the package delimiter. Thus the first form is parsed as a (rather gnarly) package variable. But the second does what you want: substitute each variable individually and then join with the syntax sensitive ::.

If your delimiter had been something more benign, like whitespace, both forms would work.

-Mark