Hello Tom,

thank you very much for your attention!

> >          eval "require $moduleName";
>
> Hm. You say this isn't working for you, but you're not checking the
> value of $@ after the evil eval?

Ok, you got me :)
I did not know $@ - I'll go for it. Promised!

Anyway - I'm not sure, whether the eval fails.

I placed dump-statements to the new() function as well to the overloaded 
functions.
The class ($moduleName) is right, but the overloaded function does not get 
called.

> By the way, unless I missed something, that "require" could load your
> module, if it loads it at all, from a different directory than the one
> you're looking through via readdir. That may matter to you. 

That's right.
The matter is, I stripped lot of code just to focus on "my" problem.
Of cause I had a print of $moduleName before the eval-line.

May be I did not mention it - the script is not new. It worked for quite a 
long time.

I did some further investigations and found out, that it may be a problem of 
the operating system. My scripts work fine on a real debian an they fail on 
kubuntu.
So - may be, I did not post at the apropiate list.
As I don't have that deep understanding of perl or the ongoing behind the 
sceenes, I went back to real debian.

> Perhaps you want to use local() on @INC

Sorry, but I don't understand the benefit of that proposal.
I dumped the content of @INC and I guess, that perl works like any other stuff 
acting on a bunch of paths, and uses the first matching one.

> Before I eval a string, I make three promises:
>
>   1. I promise that I know exactly what the string contains.
>   2. I promise to check $@ after the eval.
>   3. I promise that I really understand the code contained in the string.

well, I failed at least at point 2. Gonna change that.

Thanks a lot for your advices!

regards

Reinhard

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to