This provides a 'meatier' version of caller:

caller_cv($level)

    caller_cv gives you the coderef of the subroutine being invoked
    at the call frame indicated by the value of $level

caller_args($level)

    Returns the arguments passed into the caller at level $level

caller_vars( $level, $names ) =item called_with($level, $names)

    called_with returns a list of references to the original
    arguments to the subroutine at $level. if $names is true, the
    names of the variables will be returned instead

    constants are returned as undef in both cases

called_as_method($level)

    called_as_method returns true if the subroutine at $level was
    called as a method.

Homepage:
https://metacpan.org/release/Devel-Caller
