in reply to inconsistency with ActiveState's open?

If I run it with perl -w (ActiveState 5.8), I get:
Unrecognized escape \g passed through at testfile line 3. Unrecognized escape \g passed through at testfile line 3. Unrecognized escape \g passed through at testfile line 3.
You need to either use single quotes
open (FOO,'>c:\gpp\gpp\gpp') ||die;
or escape the backslashes
open (FOO,">c:\\gpp\\gpp\\gpp") ||die;
or use forward slashes:
open (FOO,'>c:/gpp/gpp/gpp') ||die;