子クラスのスーパー クラス ジェネリック メソッドへのエイリアスを作成しようとしていますが、うまくいきません。同じクラス内のこのトリックは機能しますが、スーパー/チャイルド トランジションでは機能しないようです。これが本当の基本的な例です。最初の 2 つの呼び出しは機能します。3 番目の呼び出しでは、未定義のサブルーチンに関するエラーが生成されます。SUPER::cat も試してみましたが、うまくいきませんでした。
package foo;
sub cat{
print("inside foo\n");
}
*bird = \&cat;
package bar;
use base 'foo';
*dog = \&cat;
package main;
foo::cat();
foo::bird();
bar::dog();