https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96287
--- Comment #4 from Andreas Urban <andreas.urban at hotmail dot com> --- Looking closer at how Perl exec works, along with join on empty strings and variable, there would seem to be no problem: exec 'gcc', join(' ', @cppflags, @cflags, '-o', '$@', '$<') There may be one or two things off in above line but from my experiments on join and exec it behaves as one would want for empty arrays. I'm now convinced this is not a big issue. Closing issue.