The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!./perl -l

# 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";

#define MESS "ok 1\n"
print MESS;

#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: $!";

($prog = <<'END') =~ s/X//g;
X$ok = "not ok 3\n";
X#include "Comp_cpp.inc"
X#ifdef OK
X$ok = OK;
X#endif
Xprint $ok;
END
print TRY $prog;
close TRY or die "Could not close Comp_cpp.tmp: $!";

open(TRY,">Comp_cpp.inc") || (die "Can't open temp include file: $!");
print TRY '#define OK "ok 3\n"' . "\n";
close TRY or die "Could not close Comp_cpp.tmp: $!";

print `$^X "-P" Comp_cpp.tmp`;
unlink "Comp_cpp.tmp", "Comp_cpp.inc";