Есть некоторый фрагмент кода
#!/usr/bin/perl -w
use strict;
my $param="function_mail";
sub function_mail
{}
Вопрос в том как можно запустить функцию не используя eval и не отключая use strict, зная только значение $param? То есть нельзя напрямую делать function_mail для вызова, а надо как то действовать через $param
&{$param} не подойдёт?
А почему eval не нравится?
>&{$param} не подойдёт?
Потому что это символическая ссылка и use strict будет ругаться
>А почему eval не нравится?
Условие именно в том что нужно сделать без eval, можно вопрос переформулировать так, как запустить ту функцию при помощи жёсткой ссылки
Ответ на свой же вопрос только что нашёл. Спасибо за помощь
>Ответ на свой же вопрос только что нашёл. Спасибо за помощьможно было огласить )
>Есть некоторый фрагмент кода
>#!/usr/bin/perl -w
>use strict;
>
>
>my $param="function_mail";
>
>
>sub function_mail
>{
>
>}
>
>Вопрос в том как можно запустить функцию не используя eval и не
>отключая use strict, зная только значение $param? То есть нельзя напрямую
>делать function_mail для вызова, а надо как то действовать через $param
>а хранить в парам нормальную ссылку нельзя?
my $param=\&function_mail;
и вызывать
$param->(аргументы)или так
%param={'function_mail' => \&function_mail}
вызов
$param{'function_mail'}->(аргументы)