Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Naming Anonymous Subs

by Elian (Parson)
on Oct 20, 2004 at 21:33 UTC ( #400995=note: print w/ replies, xml ) Need Help??


in reply to Naming Anonymous Subs

Any reason to not just shove the anonymous sub reference into the appropriate slot in the glob in the global namespace? Not that I'm against XS by any means, but:

   *Foo::Bar::baz{CODE} = $coderef
seems fairly straightforward...


Comment on Re: Naming Anonymous Subs
Re^2: Naming Anonymous Subs
by blokhead (Monsignor) on Oct 20, 2004 at 22:21 UTC
    There are at least two reasons that I can think of..
    1. caller:
      sub whoami { print +(caller 1)[3], $/ } + *main::foo = sub { whoami() }; + foo(); __END__ main::__ANON__
    2. DProf:
      *main::foo = sub { sleep 1; }; + foo() for 1..5; __END__ $ perl -d:DProf foo.pl $ dprofpp tmon.out Total Elapsed Time = 5.00996 Seconds User+System Time = 0 Seconds Exclusive Times %Time ExclSec CumulS #Calls sec/call Csec/c Name 0.00 - -0.000 5 - - main::__ANON__
    When you have a lot of different anonymous subs floating around, it's a pain in the butt to profile, because all calls to anonymous subs land in main::__ANON__ as far as DProf is concerned.

    There's a trick involving local *__ANON__, which works for caller but not DProf.

    blokhead

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://400995]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2014-07-24 23:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (167 votes), past polls