> May I also take this opportunity to ask someone to explain to me what > exactly are the differences between say and print? >
I can't help you with the tricky stuff, but the difference between "say" and "print" is that "say" appends a newline (\n) to the output, while "print" doesn't. The \n is helpful if you're outputting a line of print, but quite the reverse if it's a character stream of some sort.