Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: How to call a sub-routine ref

by greengaroo (Hermit)
on Oct 19, 2012 at 20:36 UTC ( #1000039=note: print w/ replies, xml ) Need Help??


in reply to Re: How to call a sub-routine ref
in thread How to call a sub-routine ref

Yes I know. Here is another example with an anonymous subroutine:

my $ref = sub { print "Hello World!\n"; }; # Both are equivalent $ref->(); &{$ref}(); # But which one is best? That is the question!

Also, I don't do simple stuff like that, I have objects and callback functions and so on. Most of the time I have deep structures that returns functions, or objects, then I want to call that function or object method.

Let me sleep on it and I will try to provide a more concrete example.

There are no stupid questions, but there are a lot of inquisitive idiots.


Comment on Re^2: How to call a sub-routine ref
Download Code
Re^3: How to call a sub-routine ref
by blue_cowdawg (Monsignor) on Oct 22, 2012 at 12:47 UTC

    Did you actually test that code?

    $ cat greengaroo.pl use strict; my $ref = sub { print "Hello World!\n"; }; # Both are equivalent $ref->(); &{ref}(); # But which one is best? That is the question! $ perl greengaroo.pl Hello World! Undefined subroutine &main::ref called at greengaroo.pl line 9.

    your second call fails.

    If you fix this by rewriting it thusly:

    &{$ref}();
    there is still the open question of "which is better?" From a readability standpoint I'd vote for the latter rather than the former. Others may disagree but that is the essence of TIMTOWTDI. If you feel there may be a performance issue involved here have you tried profiling the code?


    Peter L. Berghold -- Unix Professional
    Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

      You are right! I forgot a $... sorry about that! Thanks for pointing it!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (12)
As of 2015-07-01 15:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (6 votes), past polls