Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

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 the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2016-10-24 10:31 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (304 votes). Check out past polls.