|Perl: the Markov chain saw|
Re: Re: package Foo; isa Bar; why not?by liz (Monsignor)
|on Dec 19, 2003 at 09:37 UTC||Need Help??|
isa Foo,Bar; # drops Bar and also spits out warning... # works same if you quote Bar, dies if Foo # is quoted or we're under strictThat's because it is using indirect object syntax.
Note that you can say:
which is not so nice as there is no way to explain why "Bar" should be specified differently from "Baz", "Bas" and "Boo". Maybe a more consistent way of specifying multiple inheritance would be:
main->isa(qw(Foo Bar)); # makes sense... pushes itself onto # @ISA, thoughThis can be easily fixed in isa.pm:
... doesn't seem to be as clean of a solution as it could be.
I agree. I think I'll go back to just setting @ISA myself, and making sure they're run at compile time when I put several packages into one file.