in reply to windows path problem
I'm not sure why you'd need to do that. Normally, you need to double the slashes in a string literal so it produces a string with single backslashes.
>perl -le"print qq{c:\\abc\\xyz};" c:\abc\xyz
You do not want to pass doubled slashes to open.
In Section
Seekers of Perl Wisdom