_show_call_stack() if (!$retval); [...] sub _show_call_stack { my $max_depth = 7; my $i = 1; if ($log->is_debug()) { $log->debug("--- Begin stack trace ---"); while ( (my @call = (caller($i++))) && ($i<$max_depth)) { $log->debug("$call[1] line $call[2] in function call[3]"); } $log->debug("--- End stack trace ---"); } }