#!./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";