;# #include "dbg.pl" ;# ;# This is a runtime perl audit/debug/log/trace/verbose package. It is ;# vaguely similar to JC's "dbg" package for C, but we don't need ;# nearly as much help for perl. You should #include "dbg.pl" at the ;# very start of your program. #define D print DBGOUT #define D1 ,"\n" if ($dbglvl >= 1) #define D2 ,"\n" if ($dbglvl >= 2) #define D3 ,"\n" if ($dbglvl >= 3) #define D4 ,"\n" if ($dbglvl >= 4) #define D5 ,"\n" if ($dbglvl >= 5) #define D6 ,"\n" if ($dbglvl >= 6) #define D7 ,"\n" if ($dbglvl >= 7) #define D8 ,"\n" if ($dbglvl >= 8) #define D9 ,"\n" if ($dbglvl >= 9) sub dbginit { ($pname = $0) =~ s'.*/''; $dbgoption = $ENV{"D_$pname"} || "1"; $dbgout = substr($dbgoption,1); $dbglvl = substr($dbgoption,0,1); if ($dbgout && open(DBGOUT,">>$dbgout")) { print STDERR "$0 Output to \"$dbgout\"" D3; } else { if ($dbgout){print STDERR "$0 Can't write to \"$dbgout\" [$!]" D3;} open(DBGOUT,">&STDERR"); } } &dbginit();