sub x1 { @_ = 'a'; &x2 } sub x2 { my ($c) = @_; say $c, (caller 0)[4] } x2('b'); # b1 x1(); # a