假设您有一个带有Foo 包的模块(例如Foo.pm)。在其中存在许多子例程定义,包括foo和default的定义。
package Foo;
sub foo { ... }
sub default { ... }
在您的主 perl 程序(例如test.pl)中,将值分配给子引用并调用它或调用默认值的正确方法是什么?
sub call_proc {
my $args = shift;
my $subref = $args->{proc_name} // 'default';
&$Foo::subref(); # <====== Wrong
}
call_proc({ proc_name => q{foo} }); # make the call