in reply to Join and Concatenation
I don't think this is a join bug. I think it is a matter of operator precedence (see perlop). I think the concatenation operator is enforcing scalar context on the array (hence the 3).
Tip #6 from the Basic debugging checklist (B::Deparse). Look how perl internally places parens:
print "\nConcatenation and join (without parens)- NOT OK\n"; $cols = '[' . join('],[', @array . ']');
If your goal is to enclose all elements of an array with square brackets, then join them with commas, I think a more natural approach uses map:
$cols = join ',', map { "[$_]" } @array;
|
---|
In Section
Seekers of Perl Wisdom