perl根据函数名动态调用
perl的函数调用太灵活了,有点java中反射的味道,不过比起java要简单的多,且看下面
?
过程定义:
sub add{
?? my($a,$b)=@_;
?? return $a+$b;
}
?
调用方式:
'add'->(1,2);
?
$addSub='add';
$addSub->(1,2);
?
@arr=('add','sub','multi');
$arr[0]->(1,2);
?
%hash=(
?? 'add'=>'add',
??? 'sub'=>sub{ my($a,$b)=@_;
???????? return $a-$b;
??? }
);
$hash{'add'}->(1,2)
?
以上调用方式都是可行的,结果输出3
?