I suspect you want to do more ... sophisticated processing in the loop than just echoing the file name. With that in mind, I suggest this slight modification to Perderabo's code:
find . -type f -mtime +$k | while read i ; do
echo "$i"
done
I.e., for doing things with the files, you need to quote each file name as it comes through.
by th way, you can get into trouble if changing the IFS, because the shell needs it sometimes for her work (i�m german so i don�t know exactly if shell is male or female, but sometimes the shell reacts as a female ) so make before a copy and undo it afterwards like this
Actually, it is old Bourne shell that misbehaves if you change IFS. The Korn shell does not use IFS to intrepret the commands in the script. I often set IFS="" at the top of a ksh script and leave set to that value until I need a different value.
This mostly happens in two cases: when I want to split the data obtained via a "read" statement into words, and when I want to initialize an array with words that are all currently stored in a single variable. An occaisional third case is in some very complex uses of "eval".
Other than that, there is no harm in setting IFS as long as you are using ksh.