[Israel.pm] help with "use base"

Mikhael Goikhman migo at homemail.com
Mon Aug 9 03:35:16 PDT 2004


On 09 Aug 2004 06:48:29 +0300, Scott Weisman wrote:
> 
> In Perl it is perfectly acceptable to create an instance of one class in 
> another, and since I've pre-loaded the modules in my startup.pl, there 
> shouldn't be a problem. Where is the circular reference if I've 
> preloaded the module? Besides, as I've said above, it works on my own 
> box. I'm not trying to be repetitive here.

I can't say anything about startup.pl (you didn't show it, as well as
the Apache config that uses it). But generally speaking, you can't call
methods of class A without first loading A, that you do in your code.

> I just want to emphasize I'm 
> using tested, working code that breaks for some reason on another box.

Your file stated in the error message has one "use" missing, it is a bug.
The problem will be solved if you add this "use" line.

> I did just check, and for some reason @cmf::control::web::front::ISA is 
> NOT set, even though it should be, regardless of whether I do 'use base' 
> or the old method of "use cmf::control::web; our @ISA = 
> qw(cmf::control::web);". It doesn't make sense to me, but perhaps 
> something in Red Hat does not like pre-loading modules?

If you don't load cmf::control::web::front class, then its code is never
executed and it is right that @cmf::control::web::front::ISA is not set.

It is possible that startup.pl is misconfigured on the new system, this
script previously served as a workaround for the bug in your code.

Regards,
Mikhael.

-- 
perl -e 'print+chr(64+hex)for+split//,d9b815c07f9b8d1e'



More information about the Perl mailing list