;#   #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();
