В 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" требует явного имени пакета.
Мой вопрос: есть ли правильный способ сделать это без использования промежуточной переменной?
Любая помощь по этому вопросу будет принята с благодарностью!