in reply to Easy, elemental, but cool debug trick.

Yeah, this is a good practice but adds an extra branch for every debug check. When I do this in C++ I use compiler directives to remove my debug code so that I don't bog down the final product. I wonder if Perl is smart enough to optimize out those branches when it compiles? This is more likely with KM's technique because Perl will inline the constant function.
  • Comment on RE: Easy, elemental, but cool debug trick.

Replies are listed 'Best First'.
RE: RE: Easy, elemental, but cool debug trick.
by questor (Acolyte) on May 26, 2000 at 22:17 UTC
    Perl has a command-line flag, -P (capital P), which sends its input script through the C pre-processor before perl compilation. I can't recall ever hearing of anybody actually using it, though it's obviously there for a reason, and this sounds like as good a reason as any. (Note that perldoc perlrun warns, 'Because both comments and cpp directives begin with the # character, you should avoid starting comments with any words recognized by the C preprocessor such as "if", "else", or "define".' Also note that you can't define values on the command line; -D sets debugger flags.)