Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Packages and symbol tables

by johnnywang (Priest)
on Dec 01, 2007 at 09:37 UTC ( #654294=perlquestion: print w/ replies, xml ) Need Help??
johnnywang has asked for the wisdom of the Perl Monks concerning the following question:

(This is a continuation of XML::Generator problem in mod_perl, now I got rid of all the none relevant info)

I have a module Foo.pm:

package Foo; package Foo::Bar; use base 'Foo'; package Foo::Bar::Test; use base 'Foo::Bar'; 1;
My problem is that the above module loads ok in command line perl, but it fails in mod_perl (failed on the last "use base 'Foo::Bar'", it can't find the class Foo::Bar)

Is there a way to find out what symbols/packages have been loaded before that failed call? I tried the following:

package Foo; package Foo::Bar; use base 'Foo'; print "$_ => $Foo::{$_}\n" foreach keys %Foo::;
which in commandline produces:
Bar:: => *Foo::Bar:: VERSION => *Foo::VERSION Bar:: => *Foo::Bar:: isa => *Foo::isa VERSION => *Foo::VERSION
but in mod_perl, it produces:
Bar:: => *Foo::Bar:: <br> VERSION => *Foo::VERSION <br>
I guess my question is whether this is the right way to see whether the "Foo::Bar" package is loaded, and why mod_perl behaves differently? (perl 5.8.0, mod_perl 1.29, apache1.3.3)

In my real situation, the package is XML::Generator. To complicate the things further, I have another "identical" installation of perl/mod_perl/apache, where this works ok. I guess I'm trying to find out how to figure out what the difference is.

Comment on Packages and symbol tables
Select or Download Code
Re: Packages and symbol tables
by Joost (Canon) on Dec 01, 2007 at 14:16 UTC
      Thanks Joost, your suggested change to use @ISA solved the problem (although I'm now on to the next one!) care to explain the thinking in your message?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://654294]
Approved by GrandFather
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (12)
As of 2014-09-02 08:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (20 votes), past polls