Running these commands gives expected results
$ bash --version
GNU bash, version 4.1.11(2)-release
$ foo=(111 222 333)
$ IFS=, cat <<< "${foo[*]}"
111,222,333
However it appears with Bash 4.2 the IFS value is being ignored
$ bash --version
GNU bash, version 4.2.0(1)-release
$ foo=(111 222 333)
$ IFS=, cat <<< "${foo[*]}"
111 222 333
What is causing this difference?
I found the answer here
http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00065.html
It looks as though this has been an error all along. According to Chet,
redirections should never have had access to the temp environment
(IFS
in this case)