把函数名变成变量倒是没见过。
不过有 类似于函数指针 的,
不知道能不能完成你的要求。
代码如下:
#!/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 ;