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

Re: a loop for creating subroutines?

by LanX (Bishop)
on Aug 27, 2012 at 16:33 UTC ( #990017=note: print w/replies, xml ) Need Help??


in reply to a loop for creating subroutines?

IMHO the cleanest way is a dispatcher table:

$mysubs{name} = sub { #subroutine implementation }; ... $mysubs{name}->("call","args","whatever");

(untested)

another approach with a dedicated package

*MySubs::name = sub { #subroutine implementation }; ... # and later MySubs::name("call","args","whatever"); # ... or ... package MySubs; name("call","args","whatever");

(also untested)

TIMTOWTDI...

Cheers Rolf

Replies are listed 'Best First'.
Re^2: a loop for creating subroutines?
by mascip (Pilgrim) on Aug 27, 2012 at 16:43 UTC

    With this solution, how would my example code look like? Like this?

    $mysubs{light}->(10); $mysubs(light_at_time)->($timestamp);

      I've already shown you three possibilities to call with "arguments".

      I wouldn't try to load unknown subs into main-namespace, that can easily lead to errors.

      Try and see what fits your needs.

      Cheers Rolf

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://990017]
help
Chatterbox?
[Corion]: But at least headers should be available

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (10)
As of 2017-12-13 12:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What programming language do you hate the most?




















    Results (361 votes). Check out past polls.

    Notices?