perl根據函式名動態呼叫

zk1878發表於2011-04-13

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

 

相關文章