In perl.h there is a macro definition for the constant DEBUG. This causes problems when other products need to include perl.c and also define a macro DEBUG. For example, PostgreSQL plperl has this problem. Perl would probably "play" better with other products if it defined the macro as PERLDEBUG rather than just DEBUG.