The stupid question is the question not asked | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
You've been answered already that you should use an anonymous subroutine reference. I just want to tuck in that this is one of the very few cases where it's proper to exploit the behaviour of &$foo;. Abstracting a block of code in a subroutine into another subroutine makes you not able to use @_ directly--or does it? If you use the sigil & and no parenthesis in a subroutine call no new @_ will be created. The current @_ will be used. This is not the same as just passing @_ in the subroutine call. shift() and friends inside the called subroutine will effect the caller's @_ since they're the same. Thus, you get almost a macro-like solution. This means that exploiting this behaviour is perfect for sub subroutine-level code refactoring. You should never do &$foo; unless you know why and have a good reason. Here, you have a good reason and hopefully know why. :-) ihb Read argumentation in its context! In reply to Re: Is it possible to create a sub exclusive to a sub? (Yes, and rare proper use of &$foo;)
by ihb
|
|