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

Re: using a hash of functions

by merlyn (Sage)
on Sep 27, 2000 at 19:52 UTC ( #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
Node Status?
node history
Node Type: note [id://34226]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (11)
As of 2018-07-20 13:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?















    Results (431 votes). Check out past polls.

    Notices?