in reply to Scalar assignment with loop iterator considered bad?

I'd do it the third way, $select_dfn .= join ', ', @columns, ''; Preference for the styles you show is a matter of taste between procedural and functional. Benchmarking might show a reason to choose between them in a particular language (like Perl).

After Compline,
Zaxo