in reply to join using different delimiter for first element of list

I think I'd just join them all, and then change the first instance of the delimiter:

($Foo=join',',@FieldNames)=~s/,/:/; # e.g., "One:Two,Three"