in reply to Arcitectural considerations with modules

Sounds like quite a mess you've gotten yourself into!

Can you provide some example code of item (1)? I think I understand what you're saying, but there's room for error and I'd like to be sure of what I'm discussing.

As for item (2), what mechanism are you using to share this single file among modules A and B? require, I assume? If so, making the shared file into a module may provide some benefit, as the namespace would be distinct. Also, using use, it would be included at compile-time and only once, no matter how many use statments you have for it. That might provide a performance enhancement.

Replies are listed 'Best First'.
Re^2: Arcitectural considerations with modules
by Anonymous Monk on Dec 30, 2005 at 09:08 UTC
    The problem seems solved now that I put EVERYTHING into my export list as I should have before. Actually I don't like maintaining a large export list, so I was using my own custom import sub that combined the symbol tables. For example:
    sub import { my $pkg = shift; my $callpkg = caller(0); %{"$callpkg\::"} = (%{"$callpkg\::"}, %{"$pkg\::"}); }
    But this wasn't working out for some reason. I was so hopeful that it would work!