As I mentioned before I read (most of) Bash Internal Variables which has some great tips and tricks in it. There’s also stuff to learn about Debugging. In fact the whole of the Advanced Bash-Scripting Guide looks like a worthwhile read!
I also read CS 15-392 Secure Programming – Environment Variables.
The IFS environment variable is the “internal field separator” and it is typically space, tab, new line. I.e. white space used to separate fields. So in bash you can delete the IFR variable and it will default to ” \t\n” or you can set it explicitly to that value. So that explains why I found a script that unset the IFR variable — it’s a secure programming practice.