在 Perl 中,您可以通过引用(或名称)调用函数,如下所示:
my $functionName = 'someFunction';
&$functionName();
#someFunction defined here:
sub someFunction { print "Hello World!"; }
我想做的是使用哈希值,如下所示:
my %hash = (
functionName => 'someFunction',
);
&$hash{functionName}();
#someFunction defined here:
sub someFunction { print "Hello World!"; }
我得到的错误是全局符号“$hash”需要明确的包名。
我的问题是:有没有不使用中间变量的正确方法?
对此的任何帮助将不胜感激!