I think it's worthwhile pointing out that "\n" really means the local end of line marker, local as in the computer the script is run on.
in reply to Answer: How do I handle mid-line carriage returns in a flatfile database?
in thread regular expressions
This is not a fixed standard as the following shows:
Unix/Linux/OSX use \012
Win/DOS usually uses \015\012 for text IO
So running a script under (Uni|Linu|OS)X containing tr/\n// on a file written on windows won't behave the way you might think.
You spend twenty years learning the spell that makes nude virgins appear in your bedroom, and then you're so poisoned by quicksilver fumes and half-blind from reading old grimoires that you can't remember what happens next.