http://qs321.pair.com?node_id=229839


in reply to inheritance weirdness

What is Foo a subclass of? Nothing, so the call to $s->SUPER::foo; is a call to die.
You might have your package inherit from UNIVERSAL, so you can take advantage of :
if ($s->SUPER::can("foo")) {$s->SUPER::foo ()}
This is probably because @ISA returns Foo::foo as a method when invoked on Baz (Baz, of course, not having its own foo); even though you expect it to be Baz::foo and thus have something interesting in its SUPER pseudoclass -- probably calling Bar::foo, and then finally Foo::foo. Of course, at this point, your script would still bomb out, because it'd still try to find a superclass for Foo.