404 Blog Not Found:perl - POO と goto ちなみに,暇な人はdepthの指定を100以上にしてみよう。滅多にお目にかかれないものに巡り会える。
暇ではないが、気になったのでdepthを100以上にしてみた。
% perl sample.pl
Benchmark: running Goto, Noself, Return for at least 3 CPU seconds...
Recursive inheritance detected while looking for method '()' in package 'Goto::0' at aa.pl line 77.
お、なんだこれは。再帰継承じゃねーかと言われた。99まではオッケイで、100より上だとこうなる。 調べてみると答えは「perldiag」にあった。
% perldoc perldiag
       …
       Recursive inheritance detected while looking for method %s
           (F) More than 100 levels of inheritance were encountered while invoking a method.
           Probably indicates an unintended loop in your inheritance hierarchy.
       …
100以上の継承をするとそうでるみたい。 ってことはPerlでは100以上の継承ができないってことなのかな。 実際そんなクラス構造を作ることはないとは思うけど…。