Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: my sub ?

by maverick (Curate)
on Mar 25, 2002 at 19:57 UTC ( #154194=note: print w/ replies, xml ) Need Help??


in reply to my sub ?

You could make anonymous subrouting references to (x) in sub a & b like so:

sub a { my $ref = sub { print "x1\n"; }; &$ref; } sub b { my $ref = sub { print "x2\n"; }; &$ref; } &a; &b;
The only thing that will look different is the call to the fucntion if you can live with that.

/\/\averick
perl -l -e "eval pack('h*','072796e6470272f2c5f2c5166756279636b672');"


Comment on Re: my sub ?
Download Code
Re: Re: my sub ?
by shotgunefx (Parson) on Mar 25, 2002 at 20:00 UTC
    Doesn't calling a sub reference with & imply the passing of your @_ ?

    -Lee

    "To be civilized is to deny one's nature."
      Yes it does, but if you just stick $ref; out there by itself, or with () after it, perl doesn't get that that's supposed to be a function call and throws a syntax error.

      You pretty much have to have the & as far as I know.

      Or you could use $ref->(); It's monday and I'm being a blonde.

      Update:Thanks chromatic, Fletch, and shotgunefx for the clue-by-four-ing.

      /\/\averick
      perl -l -e "eval pack('h*','072796e6470272f2c5f2c5166756279636b672');"

        $ref->() works just fine. As would &{$ref}().

        Unless I want the behavior, I usually call a code ref with
        $ref->();
        Probably 9 out of 10 times you can get away with it but it can product subtle bugs. I wasn't originally aware of the implied passing of @_ and it was never a problem.. until.

        -Lee

        "To be civilized is to deny one's nature."

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2014-07-10 03:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (198 votes), past polls