Rob Richardson wrote:
> Simran,
>
> Thank you very much for your reply.  I see what you're saying about
> @EXPORT.  I really don't want to be mixing namespaces.  And yes, cars
> do have names.  I'm not modeling them in my system yet, but I should
> be ready.
>
> I have a couple of follow-up questions.
>
>> A "neater" less ambigious way of doing that is probably:
>>
>>   $self->{'name'} = shift;
>>
>
> Yes, that is better.  Thanks!

or even

    $self->{name} = shift;

(you can use barewords as hash keys, here and before => in a hash
constant)

>
> I may not use @EXPORT, but @EXPORT_OK is not bad, nor is @ISA.  What
> is the cause of this package problem?  How do I get around it?  Do I
> need to use @Exporter::EXPORT_OK?  What package is @ISA in?  (Hmmm...
> shades of Mr. Clinton here.)

Declare them with

    our (@EXPORT, @EXPORT_OK, @ISA);

But you're getting confused between a module and an object class.
Traditional
modules have an interface accessible through their package name and
typically
use Export. Object modules /can/ use Export, but their primary interface
is
through an object instance.

A common use of Export in object modules is to export constant values
relevant
to users of the module.

HTH,

Rob




-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to