http://www.perlmonks.org?node_id=541712


in reply to recursive anonymous subroutines

No.

(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 (Patriarch) 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.