Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: using a hash of functions

by merlyn (Sage)
on Sep 27, 2000 at 19:52 UTC ( [id://34226]=note: print w/replies, xml ) Need Help??


in reply to using a hash of functions

The canonical form of a subroutine invocation is:
$result = & { something_that_returns_coderef } ( @args );
The braces around the coderef expression can be dropped only when the coderef is in a simple scalar variable. Yours was not. So you'd have to use:
& { $functions{$func} }();
However, as of fairly recent Perls, you can also use an arrow form:
$functions{$func}->();
This was added by Chip in 5.4 under some urging by me based on a bet I made that I couldn't get a new feature into 5.4 during the gamma golden release phase. I won. {grin}

-- Randal L. Schwartz, Perl hacker


update: for more details, check out my Linux magazine column on subroutine references, and an older column from UnixReview.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (7)
As of 2024-04-18 14:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found