in reply to Examing local's stack

If you only care about arguments passed to your recursive subroutine, you can use the uplevel_args() trick alluded to in caller:

package DB; sub uplevel_args { my $level = shift; my @foo = caller( $level ); return @DB::args; }

Then just call this from your code to get the argument list passed to your code... most of the time.