See perldoc
perlop, and look for "Quote and Quote-like Operators".
\n is "virtual" with respects to Perl in that does not map to a single ASCII byte irrespective of OS. It assumes the OS's representation of a "newline". Under Unix, this is equivalent to
\cJ. Under DOS/Windows, it's
\cM\cJ. Likewise, I think
\r behaves differently under MacOS as well, for the same reasons.