in reply to Re: How to call subroutines using variables ?
in thread How to call subroutines using variables ?
or write a sub for this purpose (This assumes $SubHash is a global){ # Get an enclosing lexical scope no strict 'refs'; # allow symbolic refrence shenanigains &$SubHash{key}(); # Call sub } # Back to strict 'refs'
However a hash of sub names is probably a bad idea to start with, and you should reconsider your design to use hard refs (mentioned by Joost) or remove the hash all together if possible.CallFromHash { no strict 'refs'; # allow symbolic refrence shenanigains return &$SubHash{shift(@_)}(@_); #Call the sub in the first arg with + the rest of @_ as args and return }
|
|---|