in reply to Re: Re: Re: import() not getting called. Huh?
in thread import() not getting called. Huh?

OK, so importing M1, M3, M2 in that order makes M2 fail with VERSION being not found, right? It's not complaining that the version number is bad, but that the VERSION function is not found at all, which is strange for a couple of reasons: (1) it works in other modules, and (2) if it was not defined it would be found in UNIVERSAL.

But, it is calling M3::import in this case.

I'm wondering if M3::import caused something to be changed (incorrectly) in M2, not just in C3 as intended. That "clobber the wrong thing" could explain my first observation, that a function was not being called, if the symbol table entry for that function were altered.

What makes me suspect a compiler bug or other bizzare issue is that commenting out something that will happen later changes the behavior.

Maybe using Dumper on the symbol table to see if/when something unexpected changes...I'm glad it's friday.

—John

  • Comment on Re: Re: Re: Re: import() not getting called. Huh?