Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: recursive anonymous subroutines

by chromatic (Archbishop)
on Apr 06, 2006 at 20:01 UTC ( #541712=note: print w/replies, xml ) Need Help??

in reply to recursive anonymous subroutines


(Now if you had asked how to get a reference to the current subroutine, even if it's anonymous and without modifying the external code, there are ways to do that.)

Replies are listed 'Best First'.
Re^2: recursive anonymous subroutines
by ikegami (Pope) on Apr 06, 2006 at 20:05 UTC
    How would one do that? I'm curious.
      OK, I found a way, but you won't like it! :-)
      Use $DB::sub->() but you have to run it under the perl debuger (perl -d):
      sub { print 'A'; $DB::sub->() }->();

      Ted Young

      ($$<<$$=>$$<=>$$<=$$>>$$) always returns 1. :-)

        That only works when the debugger is enabled. For general use, see Devel::Caller.

        ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

      I'd write a little very scary, very hairy XS code. I don't know which of three or four approaches would work best, but I'd start by poking around PL_curcop.

        Surely the *best* approach is to not write the scary hairy XS code and just accept that you'll have to use a variable. It's not like variables kill babies or anything.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://541712]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2018-05-28 10:59 GMT
Find Nodes?
    Voting Booth?