An array in double quotes (which equals qq//) is interpolated and the result is ...
print "left @array right";
# try perl -MO=Deparse for that:
print 'left '.join($",@array).' right'
So you see, perl uses $" as the seperator of the array elements, $" is by default just a single space character, you can simply change that. Use local() to avoid problems with other code, because CGI.pm afaik uses $", too.
local $" = '';
#...
-default => "@source",
#...
#or even
-default => do { local $" = ''; "@source" },
#or better
-default => join('',@source)
HTH, see perlvar
--
http://
fruiture.de