-#!./perl -P
+#!./perl -l
-# $RCSfile: cpp.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:18 $
+# There's a bug in -P where the #! line is ignored. If this test
+# suddenly starts printing blank lines that bug has been fixed.
print "1..3\n";
-#this is a comment
#define MESS "ok 1\n"
print MESS;
-#If you capitalize, it's a comment.
#ifdef MESS
print "ok 2\n";
#else
print "not ok 2\n";
#endif
-open(TRY,">Comp.cpp.tmp") || die "Can't open temp perl file.";
+open(TRY,">Comp_cpp.tmp") || die "Can't open temp perl file: $!";
($prog = <<'END') =~ s/X//g;
X$ok = "not ok 3\n";
-X#include "Comp.cpp.inc"
+X#include "Comp_cpp.inc"
X#ifdef OK
X$ok = OK;
X#endif
Xprint $ok;
END
print TRY $prog;
-close TRY;
+close TRY or die "Could not close Comp_cpp.tmp: $!";
-open(TRY,">Comp.cpp.inc") || (die "Can't open temp include file.");
+open(TRY,">Comp_cpp.inc") || (die "Can't open temp include file: $!");
print TRY '#define OK "ok 3\n"' . "\n";
-close TRY;
+close TRY or die "Could not close Comp_cpp.tmp: $!";
-$pwd=`pwd`;
-$pwd =~ s/\n//;
-$x = `./perl -P Comp.cpp.tmp`;
-print $x;
-unlink "Comp.cpp.tmp", "Comp.cpp.inc";
+print `$^X "-P" Comp_cpp.tmp`;
+unlink "Comp_cpp.tmp", "Comp_cpp.inc";