+$fp = undef;
+$callback = undef;
+$keepdays = 10;
+$cleandays = 100;
+$dbgringlth = 500;
+
+our $no_stdout; # set if not running in a terminal
+our @dbgring;
+
+# Avoid generating "subroutine redefined" warnings with the following
+# hack (from CGI::Carp):
+if (!defined $DB::VERSION) {
+ local $^W=0;
+ eval qq( sub confess {
+ \$SIG{__DIE__} = 'DEFAULT';
+ DXDebug::dbgprintring() if DXDebug::isdbg('nologchan');
+ DXDebug::dbg(\$@);
+# DXDebug::dbg(Carp::shortmess(\@_));
+ DXDebug::longmess(\@_);
+ exit(-1);
+ }
+ sub croak {
+ \$SIG{__DIE__} = 'DEFAULT';
+ DXDebug::dbgprintring() if DXDebug::isdbg('nologchan');
+ DXDebug::dbg(\$@);
+# DXDebug::dbg(Carp::longmess(\@_));
+ DXDebug::shortmess(\@_);
+ exit(-1);
+ }
+ sub carp {
+ DXDebug::dbgprintring(25) if DXDebug('nologchan');
+# DXDebug::dbg(Carp::shortmess(\@_));
+ DXDebug::longmess(\@_);
+ }
+ sub cluck {
+ DXDebug::dbgprintring(25) if DXDebug('nologchan');
+# DXDebug::dbg(Carp::longmess(\@_));
+ DXDebug::longmess(\@_);
+ } );
+
+ CORE::die(Carp::shortmess($@)) if $@;
+} else {
+ eval qq( sub confess { die Carp::longmess(\@_); };
+ sub croak { die Carp::shortmess(\@_); };
+ sub cluck { warn Carp::longmess(\@_); };
+ sub carp { warn Carp::shortmess(\@_); };
+ );
+}
+