in reply to Multiple Inheritence, Munging @ISA

You're not going to want to hear this - there is no easy way in Perl5 to do this. In Perl6, this is really easy - you simply redispatch and the dispatcher knows which method to check next. (I actually asked Larry about this situation prior to A12.)

The best thing I can think of is to write your own method dispatcher. This would only work with methods that have a void signature. Maybe something like:

sub find_funcs { my $class = shift; my $meth = shift; exists ${$class}{$meth}{SUB}; } sub dispatch_method { my $self = shift; my $meth = shift; my @args = @_; no strict 'refs'; my $pkg = ref($self); # Recursively find the packages that have the $meth function defin +ed # Call them in whatever order you want to define }

Or, something like that. :-)

------
We are the carpenters and bricklayers of the Information Age.

Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

I shouldn't have to say this, but any code, unless otherwise stated, is untested