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]