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 read the Environment Variables section of Secure Programming for Linux and Unix HOWTO and learned about the IFS environment variable.
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.