#! perl -slw use constant DEBUG => $DEBUG; use strict; print 'hi'; DEBUG and print 'debugging'; print 'bye'; __END__ C:\test>t-debug.pl hi bye C:\test>t-debug.pl -DEBUG hi debugging bye C:\test>perl -MO=Deparse t-debug.pl BEGIN { $^W = 1; } BEGIN { $/ = "\n"; $\ = "\n"; } use constant ('DEBUG', $DEBUG); use strict 'refs'; print 'hi'; '???'; print 'bye'; C:\test>perl -MO=Deparse t-debug.pl -DEBUG BEGIN { $^W = 1; } BEGIN { $/ = "\n"; $\ = "\n"; } use constant ('DEBUG', $DEBUG); use strict 'refs'; print 'hi'; print 'debugging'; print 'bye';