sub a { b() } sub b { c() } sub c { my ($caller, $args) = get_first_caller_with_args } a("test", [1,2,3]); #### $caller = \&a, $args = ["test", [1,2,3]];