in reply to RE: RE: Easy, elemental, but cool debug trick.
in thread Easy, elemental, but cool debug trick.

This is very neat. Going one step further, to allow debug blocks:
perl -pi.bak -e 's/^(.*)$/#$1/ if /\bDEBUG\b/../\bENDDEBUG\b/' foo.pl
to remove the block, and
perl -pi.bak -e 's/^#(.*)$/$1/ if /\bDEBUG\b/../\bENDDEBUG\b/' foo.pl
To reenable it. Then you can do something like this:
... code # DEBUG debug code # ENDDEBUG ... more code
And yes, there is something very weird about using Perl to pre-process Perl...

--ZZamboni

Replies are listed 'Best First'.
RE: RE: RE: RE: Easy, elemental, but cool debug trick.
by mikfire (Deacon) on May 26, 2000 at 01:49 UTC
    For the final interation, leave the DEBUG blocks always commented out. When you need to debug, simply try this:
    perl -e 's/^#(.*)$/$1/ if /\bDEBUG\b/../\bENDDEBUG\b/' foo.pl | perl
    and eliminate the intermediate file. Actually, more likely to reduce the odds I will ship code with the debug blocks still enabled :)

    mikfire