package Devel::Lite; use strict; use warnings; use Time::HiRes (); our $IN_TRACE = 0; sub DB::sub { return &$DB::sub(@_) if $IN_TRACE; local $IN_TRACE = 1; my $sub = $DB::sub; my @args = @_; print STDERR ">> entering $sub\n"; my @ret; eval { @ret = &$sub(@args); }; print STDERR "<< leaving $sub\n"; die $@ if $@; return wantarray ? @ret : $ret[0]; } 1;