Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: variable subroutine call

by pfaut (Priest)
on Dec 12, 2007 at 01:24 UTC ( #656530=note: print w/replies, xml ) Need Help??

in reply to variable subroutine call

You can use a variable containing the name of a function as a reference to call the function.

sub say { print $_[0],$/ }; $x = 'say'; $x->('hello');

Although Perl supports this, you shouldn't use it because it can be very dangerous. This is disallowed when 'use strict refs' is in effect. meraxes solution is better. Store references to allowed functions in a hash and allow the user to choose a function by entering its key value.

90% of every Perl application is already written.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2016-10-23 17:24 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (301 votes). Check out past polls.