develooper Front page | perl.perl5.porters | Postings from January 2005

Re: Module export symbols not getting imported (Perl5.8.0)

Thread Previous
Hal Morris
January 24, 2005 03:32
Re: Module export symbols not getting imported (Perl5.8.0)
Message ID:

Here's a clue.  I just eliminated the problem by reversing the order of 
the 'use' statements in the main file -- i.e. saying

use B;
use A;

instead of vice versa.


Hal Morris:   --  Editor of:
* H-SHEAR Web pages:
* Jacksonian Miscellanies:   Archive at
* Tales of the Early Republic web site: http://WWW.EarlyRepublic.NET

On Sun, 23 Jan 2005, Hal Morris wrote:

> I'm running on Redhat Linux version 9.0.
> I'm having a rash of previously working code breaking when module exported 
> symbols no longer get imported to another module that 'uses' them.
> The situation looks like:
> main perl file:
> ...
> use A;
> use B;
> A contains 'use B'
> main calls function f() in, which calls function g() in, which is 
> treated as an undefined method.
> Running under the debugger, definitely contains 'use', but on entry 
> to [A::]f(), I find:
>  DB <<1>> p scalar keys %A::
>  9
>  DB <<2>> use B
>  DB <<3>> p scalar keys %A::
>  113
> Closer examination shows the symbol table grew via importation of 
> symbols from that should already have gotten imported.
> Is anything like this known to occur in 5.8.0 that could be prevented through 
> an upgrade?
> Workarounds, diagnostic strategies, anything might help.  I'll be glad to try 
> something out and submit the results.  This is occurring in a pretty big 
> system and I don't know how to isolate it.
> If this is the wrong forum I'm having trouble finding the right one, and I 
> have in the past worked with perl5 porters (I was sort of the perl for UTS 
> liason).
> Best wishes,   Hal

Thread Previous Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About