http://www.perlmonks.org?node_id=53331


in reply to Cross platform compatability Part 1: Shells and Files

except that it breaks DOS machines.
DOS/Windows coders can get their revenge by using

open FH "C:\temp";

That would be revenge indeed, creating a program which will run nowhere, not even on windows. On seeing this code perl turns it into:

open FH 'C:{TAB}emp';

Which is unlikely to be the file you wanted to open. Always, always, always, use '/' as a directory seperator, it works all over the place. In fact, your first versuion:

open (FH, ">/temp/tempfile"); print FH $temporary_data;

will work perfectly well, assuming 'C:\temp\tempfile' exists, but you didn't check the sucess of the open call so you'll never know.