PERL语言能不能把函数名子设成变量?也就是函数名动态的表示。

2024年11月16日 20:55
有1个网友回答
网友(1):

把函数名变成变量倒是没见过。
不过有 类似于函数指针 的,
不知道能不能完成你的要求。
代码如下:

#!/usr/bin/perl

sub fun1 {
my ($str) = @_ ;
print $str."\n" ;
}
sub fun2 {
my ($str) = @_ ;
print $str."\n" ;
}

@funList = (\&fun1 , \&fun2) ; #NOTICE:你如果有很多函数的话,这里可能要列个很长的表了

for($i = 0 ; $i < 2 ;$i ++) {
$funList[$i]->($i) ; #NOTICE:用法和C里的函数指针一样

}
exit 0 ;