$OVERLOAD{"nomethod"
} は、4つのパラメータを持つ関数へのリファレン
スです。これが定義されていれば、多重定義の仕組みで、何らかの演算子に対す
るメソッドを見つけることができなかったときに、呼び出されます。この関数の
最初の3つの引数は、本来、呼ばれるはずだったメソッドに対する引数と一致し、
4番目の引数は、見つからなかったメソッドに対応する %OVERLOAD
の
key となります。いくつかのメソッドが試されている場合には、最後のものが使
われます。たとえば、 1-$a
であれば、
&{ $Pack::OVERLOAD{"nomethod"} }($a,1,1,"-").
とするのと同じかもしれません。
何らかの演算子が見つからず、$OVERLOAD{"nomethod"
} もない場合には、
( $OVERLOAD{"fallback"
} が真でない限り、) die()
による例外
が発生します。
Go to the first, previous, next, last section, table of contents.