in reply to Re^2: compile or run-time inheritance
in thread compile or run-time inheritance

This node falls below the community's threshold of quality. You may see it by logging in.

Replies are listed 'Best First'.
Re^4: compile or run-time inheritance
by adrianh (Chancellor) on Jun 18, 2006 at 15:42 UTC
    Oh, come on! The issue with BEGIN has already been mentioned in previous posts. This love of accuracy we omit because it adds nothing to the core discussion.

    And saying completely inaccurate statements like "You cannot have binding of methods before INIT" does add to the core discussion? How exactly? Especially when the OP is asking specifically about whether Perl handles things differently at "compile" and "run" time - to which the answer is no. It doesn't.

Re^4: compile or run-time inheritance
by diotalevi (Canon) on Jun 18, 2006 at 15:17 UTC

    Well, it just turned out that you were wrong. There's nothing special about INIT or BEGIN when it comes to inheritance. Inheritance just requires that @ISA have been set at some time prior to when an @ISA-using operation is executing. It's an utter red herring. If a person is stuck with making the change occur "earlier" they can always say BEGIN { @ISA = ... } or use base ...; both of which push that bit of @ISA setting as early as possible for that little snippet of code.

    ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

    A reply falls below the community's threshold of quality. You may see it by logging in.